spring框架之AOP-2

切面注解:1、在配置文件中开启切面注解<aop:aspecttj-autoproxy/>

  2、在切面的类上配置切入点标签 @Aspect

法一:1、在类中写一个切入点方法,并添加切入点标签 @Pointcutvalue=“切入点表达式”)【此方式能做到切入点的重用】切入点表达式相当于过滤器

     2、写一个通知里,并在通知上添加相应的注解并与切入点关联@Aroundvalue=“切入点的方法名pointcut()”)。

法二:无需写pointcut()方法,直接写对应的通知,在通知上写上切入点表达式。

  4、当通知有返回值时,在切入点函数时也需要写这个返回值,但是如果是写法2的话就不需要写。

 

环绕通知的JoinPoint.proceed()方法的作用:

作用:执行下一个通知,如果没有下一个通知则执行目标方法。

意义:通知的嵌套,目标方法只执行一次。

 

 

SpringJDBC的整合

1、导入相关jar包(数据库包和c3p0的包)

2、配置文件(Spring配置文件和数据库的配置文件)的配置和。

<bean id=”dataSource” class=”连接池的去路径名”>

<propertry name=”数据库连接的配置”>

<bean  id=”jdbcTemplate” class=”数据库模板的全路径名”>

<property  name=”dataSource”>

3、调用数据库模板的相应方法。jdbcTemplate.update

.query

 

练习题:在

 

 

JDBCTemplate模板

配置文件配置

引入template

 

Spring的声明式的事务处理(整个是一个aop的过程)

1.导入jar(事务处理的包 tx)

2.修改配置文件的头(加入tx

3.配置事务管理器,将来统一管理数据库中的事务,需要注入DataSource

4.配置事务通知

5.Aop的配置

意义:不需手动的维护事务,都交给spring完成。

 

//引入事务处理

<bean id=transactionManager  class=数据源事务处理的包的全名>

<property name=数据源的名称 ref=“数据源的ID>

</bean>

//事务处理的过滤器

<tx:advice transcation-manager=tanscationmanager  id=“在切面中使用”>

<tx:attribute>

<tx:method  method=add* propagation=REQUIRED/>propagation表示是否需要事务处理  SUPPORTS

</tx:attribute>

</tx:advice>

 

<aop:config >

<aop:pointcut  expression=切面的过滤器 id=切面id>

<aop:advice advice-ref=将通知引入切面 pointcut-ref=切面的id>

</aop:config>

 

 

事务的回滚策略:

1、当遇到RuntimeException时,spring默认事务回滚。

2、当遇到检查异常时,spring默认事务不回滚。当需要改变时在配置文件中txmethod标签中添加一个属性rollback-for=“异常的全名”,表示遇到某种异常回滚。

No-rollback-for=“异常的全名”表示遇到某种异常不回滚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值