一.IOC
Spring提供一个bean的工厂对各个bean进行管理(创建和使用),当用户想要创建对象的时候,从工厂中取出来注入到要实例化的对象中即可。
1 Spring工厂
我们在代码中获得工厂,一般不用BeanFactory而是用其子类ApplicationContext。获得工厂的方式包括以下两种:
2 Bean容器的生成
我们在工厂中放上容器才行,要不这个工厂就是个空壳。
2.1 XML生成容器
3 容器是对象,对象由类创建而来,类中的属性也需要注入,属性注入的包括两种。
3 Bean容器的声明周期
Bean容器生成之后,不可能一直存放到内存里面,肯定要有一个生命周期。
2.2 注解生成容器(这个用的较多)
2.2 注解生成容器(这个用的较多)
4 如何取出Bean注入到要实例化的对象中
4 如何取出Bean注入到要实例化的对象中
二 AOP
分别用实例来说明一下这些名词
Target 代理对象
|
|
1 切入点
2 通知
3 切面
切入点和通知的结合
AOP也很好理解,定义切点(往往是一组),然后在切点前后加通知。比如,对所有delete方法添加事务。
说到添加事务,我们就有必要讲一下事务了
什么是事务
事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.
事务的特性
原子性:强调事务的不可分割.
隔离性: 一个事务执行的过程中,不应该受到其他事务的干扰
一致性:事务的执行的前后数据的完整性保持一致.
持久性:事务一旦结束,数据就持久到数据库
事务的安全性:
脏读:读未提交
不可重复读:两次读的数据不一致
幻读:两次读的数据不一致
不可重复读和幻读的区别
不可重复读:一个事务读,另一个事务修改,导致前一个事务读的数据不一致
幻读:一个事务读,另一个事务插入。导致钱一个事务发现自己少读了数据,决定自己出现了幻觉。
事务的隔离级别:
读未提交
读已提交
可重复读
串行化
事务的传播: