今天面试遇到这个问题,面试官问我spring的bean在什么时候实例化,我说在被依赖的时候实例化,例如set注入或者构造注入的时候,然后他问我如果在XML里就配置一个这样这个bean是否会被实例化,如果是在什么时候实例化,我回答不会实例化。后面聊到spring的事务管理器,他跟我说那事务管理器没有注入,在什么时候实例化,我没回答上来,不知道大家有啥想法?
5条回答 默认 最新
- a1000005aa 2013-03-29 10:39关注
spring的bean在什么时候实例化,我说在被依赖的时候实例化.
分为以下几种Bean
1. 如果指定的是convertrService,beanPostProcessor等实例的时候,则会在ApplicationContext初始化的时候就实例化.
2. 如果指定的是自定义的Bean,那么会在第一次访问的时候实例化.
[被依赖的时候实例化,更明确的说是第一次访问]这样这个bean是否会被实例化
答案:不会实例化,ApplicationContext只会加载Bean的BeanDefinition.事务管理器没有注入,在什么时候实例化
这是什么问题,不懂? 如果Spring引用的是ibatis等三方组件,使用的是数据库事务,那么一般在Application的时候实例化.本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报