- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring4-day03讲义
Spring_day03 总结
今日任务
使用 Spring 的 AOP 对客户管理的 DAO 进行增强
使用 Spring 完成转账的事务管理
教学导航
掌握 Spring 的声明式事务
掌握 SSH 的整合
教学目标
教学方法 案例驱动法
案例一:使用 Spring 的 AOP 对客户管理的 DAO 进行增强
1.1 案例需求
1.1.1 需求描述
对于 CRM 的系统而言,现在有很多的 DAO 类,比如客户的 DAO,联系人 DAO 等等。客户提出一个需求要开发人员实现一个功能对所有的 DAO 的类中以 save 开头的方法实现权限的校验,需要时管理员的身份才可以进行保存操作。
1.2 相关知识点
1.2.1 Spring 使用 AspectJ 进行 AOP 的开发:注解的方式
引入相关的 jar 包:
spring 的传统 AOP 的开发的包 spring-aop-4.2.4.RELEASE.jar .aopalliance-1.0.0.jar
aspectJ 的开发包:
.aspectj.weaver-1.6.8.RELEASE.jar spring-aspects-4.2.4.RELEASE.jar
引入 Spring 的配置文件
引入 AOP 约束:
beans xmlns=/schema/beans
xmlns:xsi=/2001/XMLSchema-instance
xmlns:aop=/schema/aop xsi:schemaLocation=
/schema/beans /schema/beans/spring-beans.xsd
/schema/aop /schema/aop/spring-aop.xsd
/beans
编写目标类:
public class ProductDao {
public void save(){
System.out.println(保存商品...);
}
public void update(){
System.out.println(修改商品...);
}
public void delete(){
System.out.println(删除商品...);
}
public void find(){
System.out.println(查询商品...);
}
}
配置目标类:
!-- 目标类============ --
bean id=productDao class=cn.spring.demo4.ProductDao/bean
开启 aop 注解的自动代理:
aop:aspectj-autoproxy/
AspectJ 的 AOP 的注解:
@Aspect:定义切面类的注解 通知类型: * @Before :前置通知 * @AfterReturing :后置通知 * @Around :环绕通知 * @After :最终通知 * @AfterThrowing :异常抛出通知.
@Pointcut:定义切入点的注解
编写切面类:
@Aspect
public class MyAspectAnno {
@Before(MyAspectAnno.pointcut1())
public void before(){
System.out.println(前置通知===========);
}
@Pointcut(execution(* cn.spring.demo4.ProductDao.save(..))) private void pointcut1(){}
}
配置切面:
!-- 配置切面类 --
bean id=myAspectAnno class=cn.spring.demo4.MyAspectAnno/bean
其他通知的注解:
@Aspect
public class MyAspectAnno {
@Before(MyAspectAnno.pointcut1())
public void before(){
System.out.println(前置通知===========);
}
@AfterReturning(MyAspectAnno.pointcut2())
public void afterReturning(){
System.out.println(后置通知===========);
}
@Around(MyAspectAnno.pointcut3())
public Object around(ProceedingJoinPoint joinPoint) throws Throwable{ System.out.printl
您可能关注的文档
- 中海地产营销部销售培训资料-195P..pptx
- 中美史克销售代表奖金政策【薪酬管理类】.ppt
- 002698 博实股份 粉粒料全自动包装码垛行业合成橡胶后处理成套行业石化化工行业.ppt
- 中职汽车整车与配件营销专业汽车配件营销与管理(主编谭本忠 北理工版)课件:第三章 汽车配件采购.ppt
- 中职汽车整车与配件营销专业汽车配件营销与管理(主编谭本忠 北理工版)课件:第七章 汽车配件计算机管理系统02.ppt
- 中职汽车整车与配件营销专业汽车配件营销与管理(主编谭本忠 北理工版)课件:第二章 汽车主要零部件及常用材料03.ppt
- 中职汽车整车与配件营销专业汽车配件营销与管理(主编谭本忠 北理工版)课件:第七章 汽车配件计算机管理系统01.ppt
- 中职汽车整车与配件营销专业汽车配件营销与管理(主编谭本忠 北理工版)课件:第二章 汽车主要零部件及常用材料02.ppt
- 中职汽车整车与配件营销专业汽车配件营销与管理(主编谭本忠 北理工版)课件:第二章 汽车主要零部件及常用材料01.ppt
- 中职汽车整车与配件营销专业汽车配件营销与管理(主编谭本忠 北理工版)课件:第五章 汽车配件销售01.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)