有没有人有使用切面编程的例子 如题,最好是xml和注解版的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 spring aop 使用注解版例子分类: Spring MVC J2EE Spring 2013-11-10 10:58 10人阅读 评论(0) 收藏 编辑 删除1applicationContext.xml里面添加[html] view plaincopy<aop:aspectj-autoproxy/> <bean id="anno_advice" class="com.AnnoAdvice"></bean> 2看如何实现注解的[html] view plaincopypackage 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 plaincopypackage 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; } 引入出现错误 getHibernateTemplate() JNDI 问题 在线等 急!!! servlet listener 中能否实现页面跳转? 有人用过java版的SNMP操作的包吗,相关文档,网站谢谢! j2ee 入门 与 提高类的书,请前辈推荐一本 jboss中如何配置连接两个数据库? 为何我的james只可以在局域网内发邮件,到不了外面,如解决,200分相送。 求struts1.2.4的简单例子 各位JAVA前辈们,请指点一下小弟 请问weblogic5.1里如何配置发布ejb? java连接ftp下载文件 抓取有cookie值拦截的网站数据
分类: Spring MVC J2EE Spring 2013-11-10 10:58 10人阅读 评论(0) 收藏 编辑 删除
1applicationContext.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;
}