网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 开源技术 > Spring > spring aop中单独代理和自动代理的设置  

spring aop中单独代理和自动代理的设置

2007-12-22  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  spring的aop机制提供两类方式实现类代理。一种是单个代理,一种是自动代理。

网管u家u.bitscn@com

  单个代理通过ProxyFactoryBean来实现,自动代理通过BeanNameAutoProxyCreator或者 DefaultAdvisorAutoProxyCreator实现。

网管u家www.bitscn.net

  为了给程序加入日志功能,我们采用aop的方式。编写一个日志通知类 :com.tixa.fms.service.server.LogService 网管下载dl.bitscn.com

  配置文件中添加以下代码:

网管联盟bitsCN_com

<!--设置日志通知-->
<bean id="logAdvisor" class="org.springframework.aop.support.
RegexpMethodPointcutAdvisor">
<property name="advice">
<bean class="com.tixa.fms.service.server.LogService"/>
</property>
<property name="patterns">
<list>
<value>.*insertNadCustomerRealFinance.*</value>
</list>
</property>
</bean>
网管u家www.bitscn.net

网管u家u.bitsCN.com

  一、采用单个代理方式 (费时费力,项目中需要多出加入通知的话,不会采用此方式) 网管有家www.bitscn.net

  需要在beans.xml中添加: 网管u家u.bitsCN.com

<!--<bean id="log" class="org.springframework.aop.framework.
ProxyFactoryBean">-->
<!--<property name="proxyInterfaces" value="com.tixa.fms.domain.logic.
FinanceInFacade" />-->
<!--<property name="interceptorNames">-->
<!--<list>-->
<!--<value>logAdvisor</value>-->
<!--</list>-->
<!--</property>-->
<!--<property name="target">-->
<!--<ref local="financeInFacade" />-->
<!--</property>-->
<!--</bean> -->
网管有家www.bitscn.net
网管网www.bitscn.com

  项目中其他通过注入方式设置FinanceInFacade属性的bean,不能直接注入FinanceInFacade的bean id.而要注入代理的bean id,此例中就是 log。

网管u家u.bitscn@com

<bean id="financeInController" class="com.tixa.fms.web.spring.
FinanceInController">
<property name="financeInFacade"><ref local="log"/></property>
<property name="methodNameResolver" ref="methodNameResolver"/>
</bean>

网管u家u.bitsCN.com

网管联盟bitsCN@com

  二、自动代离方式: 网管u家www.bitscn.net

  <!——自动代理——>

网管u家u.bitsCN.com

  <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/> 网管下载dl.bitscn.com

  增加此行,容器会自动根据通知要匹配的切入点,为包含切入点的类创建 代理。

网管u家u.bitscn@com

  需要注入代理的地方依然按照原来的bean id注入URL查看 网管联盟bitsCN_com

TAGs   代理   自动   设置   单独   <   -->   --<   >   bean   name      
 上一篇:Spring 结合 Hibernate 配置 C3P0   下一篇:反向控制和面向切面编程在Spring的应用
spring aop中单独代理和自动代理的设置 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: