有没有人有使用切面编程的例子

ziweixinghello 2013-11-11 04:16:23
如题,最好是xml和注解版的
...全文
106 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
静山晚风 2013-11-11
  • 打赏
  • 举报
回复
spring aop 使用注解版例子 分类: Spring MVC J2EE Spring 2013-11-10 10:58 10人阅读 评论(0) 收藏 编辑 删除 1 applicationContext.xml里面添加 [html] view plaincopy <aop:aspectj-autoproxy/> <bean id="anno_advice" class="com.AnnoAdvice"></bean> 2 看如何实现注解的 [html] view plaincopy package com; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; @Aspect public class AnnoAdvice { @Pointcut("execution(* com..*.add*(..))") public void addAspect() { } @Before(value="addAspect()") public void before() { System.out.println("anno-before"); } } 3 测试类 [html] view plaincopy package com.annotation; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.UserDao; public class Test { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("com/annotation/applicationContext.xml"); UserDao userDao = context.getBean("userDao",UserDao.class); userDao.add(null); } } 4 @afterreturning的用法 [html] view plaincopy @AfterReturning(pointcut="addAspect()") public void back() { System.out.println("返回"); } 5 @around的用法 [html] view plaincopy @Around("addAspect()") public Object deal(ProceedingJoinPoint point) { System.out.println("around start"); Object object=null; try { object = point.proceed(); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("around end"); return object; }

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧