本文主要是介绍Spring3.1 使用AspectJ实现AOP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一,新建web project
二,在lib下添加jar包
三,添加applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
<context:annotation-config />
<context:component-scan base-package="包名" />
<aop:aspectj-autoproxy proxy-target-class="true"/>
</beans>
四,添加业务类,在类上添加注解
@Component("applicationService")
public class ApplicationServiceImpl {
public boolean createApplication(Application application) {
System.out.println("createApplication(Application application)");
return false;
}
}
五,添加通知类
@Aspect
@Component
public class ExceptionAop {
@Pointcut(value="execution(public * 包名.ApplicationServiceImpl.create*(*))")
public void doCreateApplication(){
}
@Pointcut(value="execution(public * 包名.ApplicationServiceImpl.getApplicationById(*))")
public void doGetApplication(){
}
@Pointcut(value="execution(public void 包名.ApplicationServiceImpl.save*())")
public void doSaveApplication(){
}
@Before("doCreateApplication()")
public void beforeMethod(){
System.out.println("beforeMethod()");
}
@Before("doSaveApplication()")
public void beforeMethod2(){
System.out.println("beforeMethod()");
}
@Before("doGetApplication()")
public void beforeGetMethod(){
System.out.println("beforeGetMethod()");
}
@AfterReturning("doGetApplication()")
public void returnGetMethod(){
System.out.println("returnGetMethod()");
}
}
六,添加测试类
public class ApplicationServiceTest extends TestCase {
public void testCreateApplication(){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationServiceImplservice=new ApplicationServiceImpl();
service=(ApplicationServiceImpl)context.getBean("applicationService");
service.getApplicationById("id");
}
}
结果
beforeGetMethod()
getApplicationById(String id)
returnGetMethod()
这篇关于Spring3.1 使用AspectJ实现AOP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!