关于Spring传统AOP基于Bean名称自动代理的疑问
老师, 如果我们要对两个目标类进行不同的自动代理配置,那是不是需要 配置两个BeanNameAutoProxyCreator,就像下面这样,所以说,基于bean名称 的配置如果是对于大量目标类实现同一种通知的时候就很适用,但是如果不是很多 的目标类,而且实现的通知不同,就要重复配置BeanNameAutoProxyCreator,也是挺麻烦的? <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--配置目标类--> <bean id="studentDao" class="com.zhou.aop.demo5.StudentDaoImpl"/> <bean id="customerDao" class="com.zhou.aop.demo5.CustomerDao"/> <!--配置通知(也叫配置增强)--> <bean id="myBeforeAdvice" class="com.zhou.aop.demo5.MyBeforeAdvice"/> <bean id="myAroundAdvice" class="com.zhou.aop.demo5.MyAroundAdvice"/> <!--配置完整自动代理:--> <!--配置基于Bean名称的自动代理-->⭐1 <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <!--配置属性--> <!--<property name="beanNames" value="studentDao,customerDao"/>--> <property name="beanNames" value="studentDao"/> <!--对它使用哪一种增强--> <property name="interceptorNames" value="myBeforeAdvice"/> </bean> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <!--配置属性--> <!--<property name="beanNames" value="studentDao,customerDao"/>--> <property name="beanNames" value="customerDao"/> <!--对它使用哪一种增强--> <property name="interceptorNames" value="myAroundAdvice"/> </bean> </beans>
17
收起
正在回答
1回答
同学你好!
是有点繁琐,在后面的会学习基于AspectJ的AOP开发。在给不同的类配置不同的通知时,会比较简单。你可以继续往后学
祝学习愉快~
4. SSM到Spring Boot入门与综合实战
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星