Spring 通过Spring AOP 方式来实现AOP
原创
©著作权归作者所有:来自51CTO博客作者wx63086371c7e9c的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、前期准备
导入 spring.jar ,commons-logging.jar ,log4j-1.2.14.jar ,aspectjrt.jar ,aspectjweaver.jar
二、定义AOP切面类
public class SecurityHandler {
public void check(){
System.out.println("==权限检查");
}
}
三、定义业务接口
public interface UserManager {
public void addUser();
}
四、定义业务实现类
public class UserManagerImpl implements UserManager {
public void addUser(){
System.out.println("==增加用户");
}
}
五、Spring 配置文件里面配置(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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean id="userManager" class="cn.com.manager.UserManagerImpl"></bean>
<bean id="securitHandler" class="cn.com.aop.SecurityHandler"></bean>
<aop:config>
<aop:aspect ref="securitHandler">
<aop:pointcut id="poicut" expression="execution(* add*(..))" /> <!-- 对所有的类以add开头的任何方法使用该方法。 -->
<!-- method 指出before要调用的方法 -->
<aop:before method="check" pointcut ref="poicut"/>
</aop:aspect>
</aop:config>
</beans>