复习
一 注解代替xml配置
准备工作
-
4+2+Spring-aop包
-
xml中导入context约束
-
在xml注解中开启扫描包中类的注解
注解:
-
@Component(“BeanName”) 将对象注册到Spring容器
|- @Controler
|- @Service
|- @Repository -
@Scope 指定对象的作用范围
|-singleton
|-protype -
@value 值类型属性注入
-
@Autowired 自动属性注入,根据类型注入
-
@Qulifier 指定注入对象的名称注入
-
@Resource 指定对象的名称注入
-
@PostConstruct 初始化方法
-
@PreDestory 销毁方法
二 spring AOP开发
aop思想:横向重复,纵向抽取
|-filter中
|-动态代理
|-interceptor中
spring AOP :封装了动态代理技术,来体现aop
spring AOP实现:可以对所有对象进行代理
|-动态代理:代理需要实现接口
|-cglib代理:对目标对象继承代理
spring AOP中的名词:
|- join point:连接点,所有可以织入通知的方法
|-point cut :切入点,需要|已经织入通知的方法
|-advice:通知,需要增强的代码
|-weaving:织入,将通知应用到切点
|-target:目标对象
|-proxy:代理对象
|-aspect:切面=切入点+通知
步骤:
- 1.导包
4+2
2 aop+aspect
2 aop联盟+weaving - 2.准备目标对象
- 3.准备通知类
前置通知
后置通知(方法正常结束)
环绕通知
异常拦截通知
后置通知(无论如何都执行) - 4.配置文件中配置,导入aop约束
1>目标对象
2>通知对象
扩展:使用注解完成aop-
1.导包
4+2
2 aop+aspect
2 aop联盟+weaving -
2.准备目标对象
-
3.准备通知类
-
4.配置文件中配置,导入aop约束
1>目标对象
2>通知对象
-
5.注解
@Aspect 指定当前类是通知类@Before 前置通知方法
@After-returning 后置通知方法
@Around 环绕通知方法
@After-throwing 异常拦截通知方法
@After 后置通知方法@PointCut 抽取切点表达式
-
Spring_day03
一 Spring整合JDBC
Spring中提供了一个可以操作数据库的对象,对象封装了jdbc技术
JDBCTemplate JDBC模板对象
与DButils中的QueryRunner非常相似
准备工作
- 1.导包
4+2
spring-test
spring-aop
junit4类库
c3p0连接池
JDBC驱动
spring-jdbc
spring-tx事务 - 2.准备数据库
- 3.书写dao
Spring配置
依赖关系
- 4.测试
进阶
二 Spring中aop事务
事务:
事务特征:acid
事务并发问题:脏读 幻读 不可重复读
事物的隔离级别:1读未提交 2读已提交 4可重复读 8串行化
spring封装了事务管理代码
事务操作
|-打开事务
|-提交事务
|-回滚事务
事务操作对象
注意:因为在不同平台,操作事务的代码各不相同,spring提供了一个接口
PlatformTransactionManager平台事务操作接口
|-DataSourceTransactionManager
|-HibernateTransactionManager
注意:在spring中玩事务管理,最为核心的对象就是TransactionManager对象
Spring管理事务的属性介绍:
- 事务的隔离级别
1读未提交
2读已提交
4可重复读
8串行化 - 是否只读
true 只读
false 可操作 - 事务的传播行为(决定业务方法之间调用,事务应该如何处置)
Spring管理事务的方式:
- 编码式(了解):
1>将核心事务管理器配置到Spring容器
2>配置TransactionTemplate模板
3>将事务模板注入Service
4>在Service中调用模板
- xml配置(aop,重点):
1>导包
(4+2前提,aop,aspect,aop联盟,weaving)
2>导入新的约束(tx约束)
beans:最基本
context:注解\读取properties配置文件
aop:配置aop
tx:配置事务通知
3>配置事务通知
企业开发中事务通知的配置
4>将通知配入切点
- 注解配置(aop,重点):
1>导包
(4+2前提,aop,aspect,aop联盟,weaving)
2>导入新的约束(tx约束)
3>开启注解管理事务
4>开启注解管理事务
注意:注解可以加类上,如果个别方法需要在独自加即可.