关于spring:Spring中常用注解整理

@Import注解

@Import注解出自Spring3.0版本,此时spring3.0还属于注解形式开发的过渡期,当然相似于@Bean、@Configuration注解也是在spring3.0版本诞生的。@Import注解于<import>标签的作用是雷同的,在spring配置文件中,导入另一个配置文件。

@Import注解作用

@import注解绝对于标签import还减少了bean对象的注入性能,上面是三种初始化对象的形式形式:

1. @Import(UserService.class)
这种形式最为简略,作用是将UserService类进行初始化,并注册到IOC容器中

2. 实现ImportSelector接口
public class MyImportSelector implements ImportSelector {
@Override
public String[] selectImports(AnnotationMetadata importingClassMetadata) {
    return new String[]{Logger.class.getName(), Cache.class.getName()};
}
这种形式是重写父类接口,作用是返回须要注册的Bean对象的全类名

3. 实现ImportBeanDefinitionRegistrar接口,这种形式能够重写父类接口办法,间接应用BeanDefinitionRegistry,将咱们的Bean对象注入到IOC容器中
public class MyImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar {

@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
    
    RootBeanDefinition rootBeanDefinition = new RootBeanDefinition(Logger.class);
    registry.registerBeanDefinition("logger666", rootBeanDefinition);

    RootBeanDefinition cache = new RootBeanDefinition(Cache.class);
    registry.registerBeanDefinition("cache666", cache);
        }
    }
}




评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理