生命周期
Spring Bean的生命周期分为四个阶段和多个扩展点。扩展点又可以分为影响多个Bean和影响单个Bean。整理如下:
四个阶段
- 实例化 Instantiation
- 属性赋值 Populate
- 初始化 Initialization
- 销毁 Destruction
多个扩展点
- 影响多个Bean
- BeanPostProcessor
- InstantiationAwareBeanPostProcessor
- 影响单个Bean
- Aware
- Aware Group1
- BeanNameAware
- BeanClassLoaderAware
- BeanFactoryAware
- Aware Group2
- EnvironmentAware
- EmbeddedValueResolverAware
- ApplicationContextAware(ResourceLoaderAware\ApplicationEventPublisherAware\MessageSourceAware)
- Aware Group1
- Aware
- 生命周期
- InitializingBean
- DisposableBean
spring事务失效的场景?
1、自己调用自己
2、数据库不支持事务,比如MyIsam
3、bean没有被事务管理
4、方法不是public的
5、数据源没有配置事务管理器
6、配置的不支持事务@Transactional(propagation = Propagation.NOT_SUPPORTED)
7、异常被吃了,内部进行catch了
8、rollbackFor指定不匹配,默认 runtimeException
bean的作用域?
single
prototype
session
request
application