美文网首页
1、基于注解开发初探

1、基于注解开发初探

作者: 小manong | 来源:发表于2018-10-07 21:06 被阅读0次
  • 这个专题主要讲解spring的注解驱动开发模式,相对xml配置开发更加简洁和流行,同时也是springboot开发的基础。

1、先看一个案例

  • 配置类
@Configuration//标记这个类为注解类==配置文件
public class UserConfig {
    /*
     * @Bean代表给容器中注入一个Bean,类型为返回值得类型,id默认是方法名
     * id也可以自己定义比如@Bean("user1")
     */
    @Bean
    public User user() {
        User user=new User();
        user.setUserName("qiuzhangwei");
        user.setPassword("123456");
        user.setAge(55);
        user.setBrithday(new Date());
        return user;
    }
}
  • 测试类
public class Test {
    public static void main(String[] args) {
        // 基于注解开发的测试
    ConfigurableApplicationContext context2 = new AnnotationConfigApplicationContext
(UserConfig.class);
        User user2 = (User) context2.getBean("user");
        System.out.println(user2);
    }
}

2、相关注解和类说明

  • @Configuration
    作用于类上,标记这个类为配置类(相当于一个xml配置文件)
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {
    String value() default "";
}
  • @Bean
    作用于方法或者注解类上,表示在config配置类中注入相应的bean类。@Bean给容器注入bean时候,类型为方法的返回类型,默认id是方法名,但是可以通过别名来改变默认id,比如上面例子可以改为@Bean("user1")。
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Bean {
//别名
    @AliasFor("name")
    String[] value() default {};
//名称
    @AliasFor("value")
    String[] name() default {};
//确定自动注入是按名称还是类型,默认是不按这两个
Autowire autowire() default Autowire.NO;
//初始化方法
    String initMethod() default "";
//销毁方法
    String destroyMethod() default AbstractBeanDefinition.INFER_METHOD;
}
  • AnnotationConfigApplicationContext是注解相关的bean容器,相当于xml配置文件对应的ClassPathXmlApplicationContext容器

参考资料:
https://blog.csdn.net/chjttony/article/category/1239946

相关文章

  • 1、基于注解开发初探

    这个专题主要讲解spring的注解驱动开发模式,相对xml配置开发更加简洁和流行,同时也是springboot开发...

  • java注解

    一、认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2...

  • 初探Spring注解

    初探Spring注解 1.@Resource注解 2.@Component 3.@Autowired和@Resou...

  • Spring笔记04_AOP注解开发_模板_事务

    1. Spring基于AspectJ的注解的AOP开发 1. 1 SpringAOP的注解入门 创建项目,导入ja...

  • java注解学习

    前言 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上...

  • Spring之注解开发

    八、注解开发 目录:准备说明、Bean的实现、属性注入、衍生注解、自动装配注解、作用域、基于Java类进行配置 1...

  • Mybatis高级阶段

    Mybatis基于注解开发 这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编...

  • 编译时注解器初探(一)

    编译时注解器初探(一) 注解处理器 (Annotation Processor) 编译时注解和运行时注解定义的方式...

  • 基于AspectJ的注解AOP开发

    基于AspectJ的注解AOP开发 AspectJ开发准备 导入相关jar包 引入aop约束 @AspectJ通知...

  • 如何编写自定义注解

    上一篇java注解初探介绍了注解的基本概念, @Retention注解参数为CLASS时是编译时注解而RUNTIM...

网友评论

      本文标题:1、基于注解开发初探

      本文链接:https://www.haomeiwen.com/subject/trwtoftx.html