SSM框架之SpringAOP快速搭建
有关AOP的相关解析在该文章中以实例方式阐述:
http://blog.csdn.net/dushiwodecuo/article/details/78180803
1.添加maven依赖
<!--spring-aop-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
2.配置spring-aop.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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!--扫描所有注解的组件-->
<context:component-scan base-package="com.chen"/>
<!--2、开启基于注解的aop功能 -->
<aop:aspectj-autoproxy/>
</beans>
3.编写切面类
/**
* @Author: CatalpaFlat
* @Descrition:
* @Date: Create in 16:19 2017/11/11
* @Modified BY:
*/
@Aspect
@Component
public class TestAspect {
/**service层切面*/
private final String POINT_CUT = "execution(* com.chen.logic.service..*(..))";
/**日志输出*/
private static final Logger logger = Logger.getLogger(TestAspect.class.getName());
@Pointcut(POINT_CUT)
private void pointcut(){}
@Before(value="pointcut()")
public void logStart(){
logger.info("AOP日志,方法开始");
}
@After("pointcut()")
public void logEnd(){
logger.info("AOP日志,方法最终结束");
}
@AfterThrowing(value="pointcut()")
public void logException(){
logger.info("AOP日志,方法出现异常");
}
@AfterReturning(value="pointcut()")
public void logReturn(){
logger.info("AOP日志,方法正常执行");
}
}
4.测试
注:基于这篇文章
http://blog.csdn.net/DuShiWoDeCuo/article/details/78506579