Aop
aop(面向切面编程) 在需要执行的方法前后执行另外的程序代码
Aop 使用场景
Aop 的实现方式
通过xml配置文件实现
- 导入Spring-aop,aspectjrt ,aspectweaver jar包
- 在xml文件中写入
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
把需要执行的类交给spring 管理
<bean id="poi" class="com.soft.proxyTest.proxy.ProxyAll" />
<aop:config>
<aop:pointcut expression="execution(* com.soft.proxyTest.servicesimpl.*.*(..))" id="p"/>
<aop:aspect ref="poi">
<aop:around method="around" pointcut-ref="p" />
<aop:after-throwing method="afterthrowing" throwing="th" pointcut-ref="p"/>
</aop:aspect>
</aop:config>
使用注解的方式
- 添加aop 注解的支持
<aop:aspectj-autoproxy proxy-target-class="false"/>
- 在代理类和方法上添加注解
···
@Aspect
@Component
public class ProxyAll {
@Before(“execution(* com.soft.proxyTest.servicesimpl..(..))”)
public void beforeTest(){
System.out.println(“方法前”);
}
… …
···