首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

应用Spring AOP(5)-XML配置方式

2013-11-03 
应用Spring AOP(五)-------XML配置方式?和前面的工程相比,前置通知,后置通知那几个通知类没有了,所有的通

应用Spring AOP(五)-------XML配置方式

?和前面的工程相比,前置通知,后置通知那几个通知类没有了,所有的通知逻辑直接放到了AllLogAdvice类的方法里:

?

?4种通知功能用4个方法来完成了。aop.xml配置文件内容:?

?定义pointcut的这句:

?expression里的写法参考官网解释的

6.2.3.4节:http://docs.spring.io/spring/docs/2.0.8/reference/aop.html

除了用execution外,还可以用within,this等。

这篇文章解释也不错:http://blog.csdn.net/kkdelta/article/details/7441829

这儿第一个*通配符代表所有的返回值,第二个*代表所有方法,(..)表示任意的参数类型。也就是说com.service.UserService类下面的所有任意返回值,任意参数类型的方法都会被拦截。

?

再看看主测试类MainTest:

package com.test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.service.IUserService;public class MainTest {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("aop.xml");IUserService userService = (IUserService) context.getBean("myUserService");userService.addUser("ton", 56);userService.deleteUser("ton");}}

?这儿得到UserService的bean不再需要一个代理,而是直接用UserService定义的bean。这样的好处就是如果下次要删除通知里的逻辑,不再需要日志的功能了,我不再需要改java文件,直接在配置文件里的有关切面的配置段去掉就可以了,很好的做到了为代码解耦。

?

工程代码文件在附件中。。。。

热点排行