spring管理bean的生命周期
从前面可以看到,
singleton模式下bean的实例化的时机是在ApplicationContext实例化的时候进行实例化,然而设置lazy-init=true的情况下在getBean方法调用的时候进行实例化。
prototype模式下bean的实例化时机是在getBean方法调用的时候进行实例化。
如果我们需要在bean初始化的时候,打开数据库资源等连接,那么指定一个初始化方法,这样在bean实例化的时候就会自动初始化。同样的指定一个销毁方法。
beans.xml
PersonServiceBean.java
SprintTest.java
测试结果输出
inti初始化方法
destroy销毁方法
lazy-init应该是一个优化spring很好的东西,就像hibernate里的懒加载,有些bean可能一直没有用到过,根本没必要初始化,但是视频里说尽量使用lazy-init=false,为了发现所有bean可能出现的错误,难道测试的时候要这么做?另外JUnit的测试也不是很明白。。。感觉和一般的差不多啊