快速业务通道

让Spring架构减化事务配置 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
...{       String[] beanName = this.getApplicationContext()           .getBeanNamesForType(Class.forName(classType), true, false);       if (beanName != null) ...{         beanNameList = Arrays.asList(beanName);       }     } catch (ClassNotFoundException ex) ...{       throw new IllegalArgumentException("Class not found: "           + ex.getMessage());     }     return beanNameList;   }   /**//**    *    * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()    */   public void afterPropertiesSet() throws Exception ...{     if (classTypes != null && !classTypes.isEmpty()) ...{       beanNames = new ArrayList();       for (int i = 0; i < classTypes.size(); i++) ...{         String classType = (String) classTypes.get(i);         List aList = getBeanNames(classType);         beanNames.addAll(aList);       }     }     if (logger.isDebugEnabled()) ...{       for (int i = 0; i < beanNames.size(); i++) ...{         logger.debug("printBean:" + (String) beanNames.get(i));       }     }   } }

使用BeanClassTypeAutoProxyCreator

让Spring架构减化事务配置(5)

时间:2011-02-22 袁光东

3.1为了使用BeanClassTypeAutoProxyCreator,将为所有需要进行代理的类定一个接口。

package com.prs.application.ehld.biz.service; public interface BaseService ...{ }

3.2 让需要代理的类实现或继承这个公共接口

package com.prs.application.ehld.sample.biz.service; public interface SampleService extends BaseService ...{     public void setUserInfoDAO(UserInfoDAO userInfoDAO);     public void insertUserInfo(UserInfoDTO userInfo) throws BusinessServiceException; }

3.3 配置事务代理

<!—定义拦截器--> <bean id="transactionInterceptor"      class="org.springframework.transaction.interceptor.TransactionInterceptor">     <property name="transactionManager">       <ref bean="transactionManager"/>     </property>     <property name="transactionAttributes">       <props>         <prop key="insert*">PROPAGATION_REQUIRED</prop>         <prop key="update*">PROPAGATION_REQUIRED</prop>         <prop key="save*">PROPAGATION_REQUIRED</prop>         <prop key="find*">PROPAGATION_SUPPORTS,readOnly</prop>         <prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>         <prop key="*">PROPAGATION_SUPPORTS,readOnly</prop>       </props>     </property>   </bean> <!—定义类型自动代理创建器--> <bean id="autoClassTypeProxyCreator"     class="com.prs.application.ehld.common.aotoproxy.BeanClassTypeAutoProxyCreator">

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号