Spring学习笔记-06. 如何与Spring集成

2020-02-17 11:43:07 浏览数 (2)

全局组件初始化

对于组件的全局的初始化,可以使用前面所说的ImportBeanDefinitionRegistrar这个方法来指定初始化方法,以开源的队列QMQ的源码为例:

@EnableQmq实现方式
代码语言:javascript复制
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(QmqConsumerRegister.class)
public @interface EnableQmq {

    String appCode();

    String metaServer();
}

其中QmqConsumerRegister实现代码如下

代码语言:javascript复制
 @Override
    public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
      ...
    }

Spring在扫描包的时候,会自动的运行registerBeanDefinitions中的方法,实现组件初始化。

单实体使用

利用bean的生命周期可以优雅的实现,其中 @PostConstruct和@PreDestroy写法更容易,也比较好控制,缺点就是需要找到的对应的入口,对于源码阅读不是很友好。

(本文完)

作者:付威 博客地址:http://blog.laofu.online 如有任何知识产权、版权问题或理论错误,还请指正。 本文是付威的网络博客原创,自由转载-非商用-非衍生-保持署名,请遵循:创意共享3.0许可证

0 人点赞