spring的拓展点之-InitializingBean

时间:2021-06-24 18:00:22   收藏:0   阅读:0

spring的拓展点之-InitializingBean

一:有什么用

InitializingBean是spring提供的一个初始我们bean熟悉的方法,我们可以直接看看源码注释。

技术图片

我们看这个接口上的注释大概意思就是:

当我们需要初始化我们bean中的一些参数,或者校验一些参数的时候的时候就可以通过实现该接口的afterPropertiesSet方法,初始化bean中属性。同时也说明了,初始化bean属性的还可以通过配置init方法。

通过源码的注释我们大致知道这个接口的功能了。实现这个接口和配置init方法有什么好处呢?,这个也就是不需要配置参数了,这个接口再一些框架和spring整合时候用的比较多,这样就不需要用户去配置了。

二:在哪里执行

查看源码的AbstractAutowireCapableBeanFactory 这个类中的configureBean方法中,再填充了必要的注入属性后,执行initializeBean 初始化bean的方法。

技术图片

进入initializeBean方法

技术图片

通过看注释和源码我们知道这个就是执行init方法和afterPropertiesSet方法的地方。

总结来说就是给我们提供一个初始化一些bean的属性值的地方

三:在哪里用了

这个接口比较简单这里不进行代码验证了。我们可以看看mybatis和spring整合的SqlSessionFactoryBean这个类。

技术图片

我们看实现的afterPropertiesSet 方法。

技术图片

这个方法就是进行属性初始化的校验和sqlSessionFactory属性赋值。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!