`
zxmsdyz
  • 浏览: 126886 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Spring AOP使用配置介绍(三):自动创建代理

阅读更多
根据(一)、(二)中介绍的方法已经学会了切面的配置,但都是使用org.springframework.aop.framework.ProxyFactoryBean配置的代理,该方法只能为单个类配置代理。在实际使用中并不方便,因此我们还要学习Spring提供的自动创建功能。
方法一:使用BeanNameAutoProxyCreator
	<!-- 通过bean的名字来匹配选择要代理的bean,在使用时仍用原有bean的id从context中获取 -->
	<bean id="autoProxy"
		class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<!-- 需要代理的service,以userService结尾注册的bean -->
		<property name="beanNames">
			<list>
				<value>*userService</value>
             <value>*routeService</value>
			</list>
		</property>
		<!-- 拦截器的名称 -->
		<property name="interceptorNames">
			<list>
				<value>validateUserAdvisor</value>
             <!-- 性能监视增强 -->
	            <value>performanceMonitorAdvice</value>
			</list>
		</property>
		<!-- 设置强制使用CGLIB生成代理,此时代理的bean如果已经是代理则必须也是由cglib生成的 -->
		<property name="optimize" value="true" />
	</bean>

其中beanNames用来匹配Spring中配置的bean名称,例如*routeService是匹配那些name或id以routeService结尾的bean。interceptorNames则是用来添加那些要使用的增强,optimize指定代理类用cglib来产生。

方法二:使用DefaultAdvisorAutoProxyCreator
<!-- 自动代理创建器,使用了该创建器就不需要autoProxy了。它会根据advisor中的配置自动找到匹配的类和方法,并为之创建代理 -->
	<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />

该方法的配置最为简单,它会自动为所有的增强所匹配的bean创建相应的代理。

以上两种方法可以只选用其中的一个来简化配置。
0
1
分享到:
评论

相关推荐

    Spring 自动代理创建器详细介绍及简单实例

    在经典的Spring Aop中,Spring提供了自动代理创建器(Aotu proxy creator),有了自动代理创建器,就不再需要使用ProxyFactoryBean手工地创建代理了。 接口Animal和Book:  package com.zzj.aop; public ...

    spring4.3.9相关jar包

    spring-beans.jar(必须):这 个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI ...

    Spring 2.0 开发参考手册

    7.7. 使用ProxyFactory通过编程创建AOP代理 7.8. 操作被通知对象 7.9. 使用“自动代理(autoproxy)”功能 7.9.1. 自动代理bean定义 7.9.2. 使用元数据驱动的自动代理 7.10. 使用TargetSources 7.10.1. 热交换...

    Spring-Reference_zh_CN(Spring中文参考手册)

    7.7. 使用ProxyFactory通过编程创建AOP代理 7.8. 操作被通知对象 7.9. 使用“自动代理(autoproxy)”功能 7.9.1. 自动代理bean定义 7.9.1.1. BeanNameAutoProxyCreator 7.9.1.2. DefaultAdvisorAutoProxyCreator ...

    Spring中文帮助文档

    7.7. 使用ProxyFactory通过编程创建AOP代理 7.8. 操作被通知对象 7.9. 使用“自动代理(autoproxy)”功能 7.9.1. 自动代理bean定义 7.9.2. 使用元数据驱动的自动代理 7.10. 使用TargetSource 7.10.1. 热交换...

    Spring API

    7.7. 使用ProxyFactory通过编程创建AOP代理 7.8. 操作被通知对象 7.9. 使用“自动代理(autoproxy)”功能 7.9.1. 自动代理bean定义 7.9.2. 使用元数据驱动的自动代理 7.10. 使用TargetSource 7.10.1. 热交换...

    spring applicationContext 配置文件

    -- 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能--&gt; &lt;context:component-scan base-package="com.ccc"/&gt; &lt;bean class="org.springframework.web.servlet.mvc.annotation....

    spring chm文档

    7.7. 使用ProxyFactory通过编程创建AOP代理 7.8. 操作被通知对象 7.9. 使用“自动代理(autoproxy)”功能 7.9.1. 自动代理bean定义 7.9.2. 使用元数据驱动的自动代理 7.10. 使用TargetSources 7.10.1. 热交换...

    spring in action英文版

    第三部分 Spring在Web层的应用  第8章 建立Web层  8.1 开始Spring MVC之旅  8.1.1 请求生命中的一天  8.1.2 配置DispatcherServlet  8.1.3 Spring MVC概述  8.2 将请求映射到控制器  8.2.1 将...

    spring 学习总结

    Spring 提供了多种 AOP 实现方式,包括基于 Java 代码的 AOP 实现、基于 XML 的手动配置的 AOP 实现和基于 XML 的自动配置的 AOP 实现。 三、Spring 基础 在 Spring 中,Bean 是一个核心概念,表示一个可重用的...

    spring4.1核心包

    配置文件 创建和管理bean。 4.spring-context-4.1.1.RELEASE.jar 在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的...

    spring.net中文手册在线版

    12.6.使用ProxyFactory类以编程方式创建AOP代理 12.7.管理目标对象 12.8.使用“自动代理”功能 12.8.1.自动代理对象的定义 12.8.1.1.ObjectNameAutoProxyCreator 12.8.1.2.DefaultAdvisorAutoProxyCreator 12.8.1.3....

    Spring in Action(第2版)中文版

    4.3.1为spring切面创建自动代理 4.3.2自动代理@aspectj切面 4.4定义纯粹的pojo切面 4.5注入aspectj切面 4.6小结 第二部分企业spring 第5章使用数据库 5.1spring的数据访问哲学 5.1.1了解spring数据访问的...

    Spring in Action(第二版 中文高清版).part2

    4.3.1 为Spring切面创建自动代理 4.3.2 自动代理@AspectJ切面 4.4 定义纯粹的POJO切面 4.5 注入AspectJ切面 4.6 小结 第二部分 企业Spring 第5章 使用数据库 5.1 Spring的数据访问哲学 5.1.1 了解Spring数据...

    Spring in Action(第二版 中文高清版).part1

    4.3.1 为Spring切面创建自动代理 4.3.2 自动代理@AspectJ切面 4.4 定义纯粹的POJO切面 4.5 注入AspectJ切面 4.6 小结 第二部分 企业Spring 第5章 使用数据库 5.1 Spring的数据访问哲学 5.1.1 了解Spring数据...

    Spring.3.x企业应用开发实战(完整版).part2

    6.5 自动创建代理 6.5.1 实现类介绍 6.5.2 BeanNameAutoProxyCreator 6.5.3 DefaultAdvisorAutoProxyCreator 6.6 小结 第7章 基于@AspectJ和Schema的AOP 7.1 Spring对AOP的支持 7.2 JDK 5.0注解知识快速进阶 7.2.1 ...

    Spring3.x企业应用开发实战(完整版) part1

    6.5 自动创建代理 6.5.1 实现类介绍 6.5.2 BeanNameAutoProxyCreator 6.5.3 DefaultAdvisorAutoProxyCreator 6.6 小结 第7章 基于@AspectJ和Schema的AOP 7.1 Spring对AOP的支持 7.2 JDK 5.0注解知识快速进阶 7.2.1 ...

    java面试题

    spring使用AOP面向切面的思想进行事务管理的。 spring和Hibernate继承后,定义事务管理特性的时候查询为什么要定义为read-only? 答:因为添加、删除和更新都涉及到了数据库的修改,而查询并未涉及到数据库修改,...

    Spring + Hibernate + Struts 事务配置小例子(带提示框等小技巧)

    -- 此处可增加其他需要自动创建事务代理的bean--&gt; &lt;!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器--&gt; &lt;value&gt;transactionInterceptor &lt;!-- 此处可增加其他新的Interceptor --&gt; ...

    spring security 参考手册中文版

    38. Spring Data&Spring安全配置 273 39. @Query中的安全表达式 273 第八部分 附录 274 40.安全数据库模式 274 40.1用户模式 274 40.1.1集团当局 274 40.2持久登录(记得我)架构 275 40.3 ACL模式 275 40.3.1 ...

Global site tag (gtag.js) - Google Analytics