企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 一、概述。 上一篇博客讲述了用注解的形式实现AOP现在讲述另外一种AOP实现的方式利用XML来实现AOP。 ## 二、代码演示。 准备工作参照上一篇博客[《菜鸟学习Spring——60s使用annotation实现简单AOP》](http://blog.csdn.net/gwblue/article/details/40298263) 目录结构: ![](https://box.kancloud.cn/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://box.kancloud.cn/2016-02-22_56caddfc08eee.jpg) ## 三、总结。 XML实现的AOP对代码没有了侵入性并且能够灵活的配置不用重新编译。但是有个缺点就是配置文件太多了不好管理。