随笔-348  评论-598  文章-0  trackbacks-0
下面是一个Manager Service(AOP),她可以提供一些高级方法,例如联合的删除,或者顺便发一封Email等等
<bean id="passwordHintAction" class="com.inpoint.webapp.action.PasswordHintAction" scope="prototype">
<property name="userManager" ref="userManager"/>
<property name="mailEngine" ref="mailEngine"/>
<property name="message" ref="mailMessage"/>
</bean>
<aop:config>
<aop:advisor id="userManagerTx" advice-ref="userManagerTxAdvice" pointcut="execution(* ..service.UserManager.(..))" order="0"/>
<aop:advisor id="userManagerSecurity" advice-ref="userSecurityAdvice" pointcut="execution(* *..service.UserManager.saveUser(..))" order="1"/>
<aop:advisor id="managerTx" advice-ref="txAdvice" pointcut="execution(* ..service.*Manager.(..))" order="2"/>
</aop:config>

<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="get*" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>

<tx:advice id="userManagerTxAdvice">
<tx:attributes>
<tx:method name="save*" rollback-for="UserExistsException"/>
</tx:attributes>
</tx:advice>

<bean id="lookupManager" class="com.inpoint.service.impl.LookupManagerImpl">
<property name="lookupDao" ref="lookupDao"/>
</bean>
这样做是因为DAO只要提供CRUD操作即可,而一些高级操作不应该加到DAO里面,否则会出现一些问题。感谢Crespo的帮助!

---------------------------------------------------------
专注移动开发

Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2007-05-10 22:32 TiGERTiAN 阅读(320) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: