`
零点5度
  • 浏览: 19289 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring学习笔记

    博客分类:
  • java
 
阅读更多

1、IOC与工厂模式的区别

个人觉得是工厂模式还是需要在自己的代码内去创建对象,也就是我们还是要主动的去获得,而IOC就不要自己主动去创建获得,而是当我们需要某个对象时,IOC容器会根据配置主动创建这个对象(可理解为不是由自己的代码来创建),然后给我们。

 

 

2、Bean相关属性与生命周期管理

id:bean的唯一标识;class:bean对应的类;

autowire="byName"/"byType":根据对象属性名=bean.id、属性类型=bean.class的映射方式,通过对应的setter方法自动装配。

parent="bean.id":继承某个bean的配置,可以重写继承的属性值。

abstrac="false"/"true" :若为true,则该bean不能被实例化,可以作为模版bean使用,被其它bean继承。

depends-on="bean.id":表示必须先实例化"bean.id"对应的bean。

scope="single"/"prototype":设置bean是单例/多例模式。

管理生命周期:

bean中属性:init-method="初始化方法";destroy-mothod="销毁方法";

实现BeanPostProcessor接口,并具体提供以下两个方法的实现

Object postProcessBeforeInitialization(Object bean, String beanName):init-method之前被调用

Object postProcessAfterInitialization(Object bean, String beanName):init-method之后被调用

返回值就是IOC容器最终给用户的bean。

 

 

3、事务管理

@Transactional,发生异常后回滚事务
(1)、使用 propagation 指定事务的传播行为,即事务方法A调用另一个事务方法B时,B使用A的事务还是新建一个事务。
propagation=REQUIRED(默认),B使用A的事务
propagation=REQUIRED_NEW,B使用自己新建的事务

(2)、使用 isolation 指定事务的隔离级别,最常用的取值为 READ_COMMITTED。

(3)、使用rollbackFor 与 noRollbackFor来设置对那些异常回滚或那些不回滚,通常默认即可。

(4)、使用 readOnly指定事务是否只读,可以帮助数据库引擎优化事务。

(5)、使用 timeout 指定事务多少时间后进行强制回滚。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics