1、基于注解开发初探

2018-10-07  本文已影响0人  小manong

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、相关注解和类说明

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {
    String value() default "";
}
@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;
}

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

上一篇 下一篇

猜你喜欢

热点阅读