使用pojo+xml开发aop案例
2012-04-19 19:34
405 查看
定义一个接口 public interface EmployeeService { public void work(); public void work(String name,String pass); } 新建一个实体类实现上述接口 public class EmployeeServiceBean implements EmployeeService{ @Override public void work() { //int i=1/0; System.out.println("++++++++++++++++++工作中+++++++++++++++++"); } @Override public void work(String name,String pass) { //int i=1/0; System.out.println("++++++++++++++++++带参数的工作中+++++++++++++++++"); } } 定义一个切面类 public class AdviceUtil { //具体通知-------进行安全检测 public void checkLogin(String name,String pass){ System.out.println("检查用户登录的用户名和密码。。。。。。。。。。。。"); } //通知 public void goHome(){ System.out.println("...............回家................"); } //通知 public void getUp(){ System.out.println("...............起床................"); } //通知 public Object punchCard(ProceedingJoinPoint jp) throws Throwable{ System.out.println("===============上班打卡================"); Object obj=jp.proceed(); System.out.println("===============下班打卡================"); return obj; } //通知 public void back(){ System.out.println("===============back方法================"); } //通知 public void unWell(Exception ex){ System.out.println("===============unWell方法================"+ex.getMessage()); } } 在xml文件中配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" > <!-- 切面的bean --> <bean id="adviceUtil" class="cn.csdn.advice.AdviceUtil"></bean> <!-- 声明业务bean --> <bean id="employeeServiceBean" class="cn.csdn.service.EmployeeServiceBean"></bean> <!-- aop的配置 包括通知和切面--> <aop:config> <!-- 声明一个切入点 --> <aop:pointcut expression="execution(* *.*work(..))" id="myPointcut"/> <aop:pointcut expression="execution(* *.*work(..)) and args(name,pass)" id="myPointcut1"/> <!--配置切面 引入的是具体实现的bean order是优先级 --> <aop:aspect ref="adviceUtil"> <aop:before method="getUp" pointcut-ref="myPointcut"/> <aop:before method="checkLogin" pointcut-ref="myPointcut1"/> <aop:after method="goHome" pointcut-ref="myPointcut"/> <aop:around method="punchCard" pointcut-ref="myPointcut"/> <aop:after-returning method="back" pointcut-ref="myPointcut"/> <aop:after-throwing method="unWell" pointcut-ref="myPointcut" throwing="ex"/> <!-- 引入通知 --> <aop:declare-parents types-matching="*..EmployeeServiceBean" implement-interface="cn.csdn.advice.Auditable" default-impl="cn.csdn.advice.AuditableAdvice"/> </aop:aspect> </aop:config> </beans>
相关文章推荐
- 使用pojo+xml开发aop
- spring 学习笔记 使用pojo+xml的方式开发aop
- spring心得10--使用Aspectj进行AOP开发介绍及案例分析
- spring心得10--使用Aspectj进行AOP开发介绍及案例分析
- spring aop的使用(注解方式以及基于xml配置方式)
- Eclipse使用Mybatis Generator生成pojo对象、mapper接口和mapper.xml文件
- 关于使用eclipse开发安卓时布局界面XML的graphical layout没有显示的问题
- 【易语言界面开发系列教程之 (EX_UI使用系列教程--第10讲(EXui右键菜单演示案例))】
- 【iOS开发】NSXMLParser使用实例
- Android下使用TinyXml读取xml配置文件(Cocos2d-x游戏开发)
- 使用XML配置Spring AOP
- 基于Spring AOP和Groovy日志模板配置的日志记录框架的二次实现与使用案例
- Spring3.0 入门进阶(三):基于XML方式的AOP使用
- iOS开发中常用第三方库的使用和配置-GDataXML
- 【安卓开发报错解决】使用Fragment报错——Binary XML file line #0 : Error inflating class顺利解决
- SpringAop在实际项目中的使用案例
- 通知执行使用Aspectj进行AOP开发
- iPhone开发【十九】XML解析之NSXMLParser(使用Web Services查询火车信息)
- 使用JSP + JAVABEAN + XML 开发的一个例子
- xml练习案例(使用Dom4j解析)