Spring学习心得(20)--aop的需求分析:错误异常分析
来源:互联网 发布:淘宝卖家多长时间回款 编辑:程序博客网 时间:2024/06/05 07:46
但是,我们学习过aop之后,我们知道了有异常通知这种方式。
下面是代码的实现:
//dao层public interface personDAO { public void savePerson() throws Exception;}//dao层实现public class personDAOImpl implements personDAO { @Override public void savePerson() throws Exception { //抛出异常 throw new RuntimeException("dao wrong"); }}//service层public interface personService { public void savePerson() throws Exception;}//service层实现public class personServiceImpl implements personService { //引用dao层 private personDAO dao; @Override public void savePerson() throws Exception { //调用dao层的方法 this.dao.savePerson(); } //省略getter&setter方法}//action层public class personAction { //引用service层 private personService service; public void savePerson() throws Exception{ //调用service层方法 this.service.savePerson(); } //省略getter&setter方法}//异常切面public class MyException { public void showException(Throwable ex){ //输出异常信息 System.out.println(ex.getMessage()); }}配置文件配置:
<bean id="dao" class="cn.ansel.mvc.dao.impl.personDAOImpl"></bean> <bean id="service" class="cn.ansel.mvc.service.impl.personServiceImpl"> <property name="dao" ref="dao"></property> </bean> <bean id="action" class="cn.ansel.mvc.action.personAction"> <property name="service" ref="service"></property> </bean> <!-- 切面 --> <bean id="myException" class="cn.ansel.mvc.exception.MyException"></bean> <aop:config> <aop:pointcut expression="execution(* cn.ansel.mvc.service.impl.*.*(..))" id="perform"/> <aop:aspect ref="myException"> <aop:after-throwing method="showException" pointcut-ref="perform" throwing="ex"/> </aop:aspect> </aop:config>从配置中可以看出,把service层所有的类当成目标类,只要service层所有的类的所有的方法抛出异常,则exceptionAspect中的异常通知就会获取到目标方法抛出的异常,所以在这里异常通知就是用来处理异常的,而且只有一个方法。并且该切面和所有的其他类都是松耦合的
0 0
- Spring学习心得(20)--aop的需求分析:错误异常分析
- aop的需求分析:错误异常分析
- UML需求分析与设计分析学习心得
- <软件设计>高级软件需求分析学习心得一
- SWT的错误异常分析
- 自我分析-Spring AOP
- spring aop源码分析
- Spring AOP 深入分析
- Spring Aop源码分析
- spring aop 原理分析
- spring aop 源码分析
- 理解Spring AOP 原理(三)Spring AOP 源码分析
- Spring AOP源码分析(拦截器调用的实现)
- Spring aop事务异常回滚(rollbackFor)机制和源码分析
- Spring源码分析之AOP(一)
- Spring学习心得(15)-- AOP的入门例子
- 需求分析系列(1)-----需求分析的本质
- ios 异常错误分析
- git 的基本使用
- http://www.cnblogs.com/evempire/p/5620609.html
- L2-008. 最长对称子串
- Codeforces 518E Arthur and Questions【贪心+模拟】很考量代码能力的一个题
- 多态
- Spring学习心得(20)--aop的需求分析:错误异常分析
- Divisible by Seven CodeForces
- Android系统提供的一些实用组件-CountDownTimerh和Chronometer
- 【第十七课】 GUI---Frame类中的方法的使用
- 位元算符号
- map 的使用例子
- php面试题猴王
- vmware虚拟化故障虚拟磁盘丢失恢复办法
- Swift