问题描述
公司转向java、有一个疑问不解1 把erp中所有项目的dao(包括select insert update)放在一个包下、如果这样结构就不是很清晰、看起来比较乱、不知效率如何?2 每一个项目的dao放在各自的包中、如果这样applicationContext.xml中就得为每个项目配置datasource、事务请问你们实际中开发中是怎样做的?各有何利弊? 问题补充:finallyException 写道
解决方案
我用的都是HibernateTranscationManager来管理事务的例如:<!-- 配置事务管理器Bean,因为使用Hibernate持久化技术,故使用HibernateTranscationManager 事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <!--为事务管理器注入SessionFactory 引用 --> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 定义切入点 --> <aop:config> <aop:pointcut id="transactionPointcut" expression="execution(* xxx.xxx.service.impl.*.*(..))" /> <!-- 事务通知器 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut" /> </aop:config> <!-- 事务传播属性 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" /> <tx:method name="*" /> </tx:attributes> </tx:advice>
解决方案二:
可以在dao包下面再次分包然后利用通配符进行相关配置不过...为什么要给dao加事务?我认为把事务加载service层更好一些
解决方案三:
包放置的位置和性能没关系 就是为了可读性,这个要看你们代码的oo设计了 没有必须怎样的说法。