Spring Bean作用域区别
- 使用scope指定bean的作用于
属性 | 介绍 |
---|---|
singleton | 默认值,当IOC容器一创建就会创建bean的实例, 是单例的,每次得到的都是同一个 |
propotype | 原型的,当IOC容器创建时不创建bean, 每次调用getBean方法时再实例化bean,而且不是同一个 |
request | 在web环境中使用,每次HTTP请求实例化一个bean |
session | 在web环境中使用,在一个HTTP Session会话中共享一个bean |
Spring常用数据事物传播属性和事务隔离级别
事物的属性
Propagation:用来设置事物的传播行为
- 传播行为:一个方法运行在一个开启事物的方法中,当前方法是使用原来的事务还是开启一个新的事物
- Propagation.REQUIRED:默认值,使用原来的事物
- Propagation.REQUIRES_NEW:将原来的事物挂起,使用新的事物
事物的隔离级别
Isolation:用来设置事物的隔离级别
- Isolation.REPEATABLE_READ:可重复读,MySql的默认隔离级别
- Isolation.READ_COMMITTED:读已提交,Oracle的默认隔离级是
Spring的生命周期
- 实例化,初始init,接收请求service,销毁destroy
- 实例化一个Bean,等同于new
- 按照Spring上下文对实例化的Bean进行配置,也就是IOC注入
- 如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(String)方法,