IOC/DI:中文意思控制反转/依赖注入,针对以前编程,类中的属性都是写死的,直接在程序中给成员变量初始化。这样的编程,耦合度

太高,代码的灵活性和扩展性太差。spring的处理方式是,在配置文件中,将类中的需要初始化的成员变量罗列出来。在应用程

序启动的时候,针对配置文件的配置,初始化对象。这些对象默认是Singleton的,保存在容器中(map中)。当类初始化的时

候,从容器中取出。这样不仅不仅可以节省对象创建的时间,提高了性能。而且,起到了解耦的作用。灵活性更强。

AOP:面向切面编程,是动态代理模式的一个应用。如果想在某个类的方法上,加上一些处理。但是无法直接修改源码,这个时候,使用

这个编程方式会比较灵活。AOP在spring上的主要应用是声明式事务管理。

事务:访问数据库的一系列操作的集合,这些操作可以是直接dos命令行的sql操作,也可以是程序的一系列数据访问。

4大特性:ACID。

原子性:要么全做,要么全不做。

一致性:例如对两个账户的操作,一个加,一个减,保持总量不变。

隔离性:两个事务对数据的操作,不会相互影响(这种说法有点不准确,隔离会有个级别,需要根据级别来判断)。该特性按照我的理解

就是解决了多用户多线程访问数据的安全问题。

持久性:数据保存在数据库中,一旦提交,永久保存。这个特性对于编程感觉不是很重要

配置spring事务的主要属性包括:事务的传播特性propagation、隔离性Isolation、readOnly、norollbackfor、

rollbackfor

propagation:no_support、support、require、require_new、nested、never、mantory

Isolation:uncommit、commit、repeated_read、seralize

readOnly:定义一个事务中的操作,是只读操作,不会有其他操作,否则报错。这个属性的主要意义,视屏中老师说,spring会对被

改属性修饰的方法,对数据访问那个conn进行优化。

后面两个特性:定义事务遇到什么情况回滚和不回滚,默认是RuntimeException回滚。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐