菜鸟学习Spring——60s配置XML方法实现简单AOP
最后更新于:2022-04-01 09:34:06
## 一、概述。
上一篇博客讲述了用注解的形式实现AOP现在讲述另外一种AOP实现的方式利用XML来实现AOP。
## 二、代码演示。
准备工作参照上一篇博客[《菜鸟学习Spring——60s使用annotation实现简单AOP》](http://blog.csdn.net/gwblue/article/details/40298263)
目录结构:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56caddfbe55ec.jpg)
其实比起上一篇博客中用annotation来实现AOP的方式我们只要把SecurityHandler.java和配置文件applicationContext.xml更改为下面内容就可以了。下面我把这两个文件的代码写下来。
SecurityHandler.java
~~~
package com.tgb.spring;
public class SecurityHandler{
private void checkSecurity(){
System.out.println("checkSecurity");
}
}
~~~
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:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="userManager" class="com.tgb.spring.UserManagerImpl" />
<bean id="securityHandler" class="com.tgb.spring.SecurityHandler"/>
<aop:config>
<aop:aspect id="securityAspect" ref="securityHandler">
<aop:pointcut id="addAddMethod" expression="execution(* com.tgb.spring.*.*(..))" />
<aop:before method="checkSecurity" pointcut-ref="addAddMethod" />
</aop:aspect>
</aop:config>
</beans>
~~~
效果图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56caddfc08eee.jpg)
## 三、总结。
XML实现的AOP对代码没有了侵入性并且能够灵活的配置不用重新编译。但是有个缺点就是配置文件太多了不好管理。