这篇文章主要介绍“sping面向切面编程怎么实现引入通知”,在日常操作中,相信很多人在sping面向切面编程怎么实现引入通知问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”sping面向切面编程怎么实现引入通知”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
引入通知的目的就是在任意的连接点引入我想要的通知,例如前面四个通知案例的运行结果:
前置通知被调用 调用环绕通知前 hi 王大锤 调用环绕通知后 后置通知被调用 前置通知被调用 调用环绕通知前 bye 王大锤 调用环绕通知后 后置通知被调用
|
可以看出在被代理类Test1Service的sayHello()
以及sayBye()
方法(这个两个连接点)切入通知;可是现在我只想在sayHello()
方法(这一个连接点)上切入通知该怎么办呢?这就要使用到引入通知,其实说白了就是在配置文件中进行配置。(我现在要求环绕通知只切入到sayHello()
方法上)
修改前面案例的配置文件beans.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:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!– 配置被代理的对象 –> <!– 配置后置通知 –> <!– 配置环绕通知 –> <!– 配置异常通知 –> <bean id="myMethodThrowsAdvice" class="com.hubin.aop.MyMethodThrowsAdvice" /> <!– 引入通知定义通知的切入点 –> <!– 配置代理对象(代理对象不需要我们自己写,已经有现成的ProxyFactoryBean类存在了) –> <!– 把通知织入到代理对象相当于将通知和代理对象关联 –> <!– 绑定引用通知 –> <!– 配置被代理对象,ref必须和配置代理对象的id对应值相同 –> |
运行结果:
前置通知被调用 调用环绕通知前 hi 王大锤 调用环绕通知后 后置通知被调用 前置通知被调用 bye 王大锤 后置通知被调用 |
到此,关于“sping面向切面编程怎么实现引入通知”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云网站,小编会继续努力为大家带来更多实用的文章!