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回滚。