在一个项目很大的时候如何让自己的配置文件看起来舒服呢?或者说任何的事情一旦变得庞大起来的时候,它的分类和顺序都会变得无比的重要,因为一个无序的凌乱的 一堆东西不仅仅是浪费你的时间,而且也会让你的心情变得无比的烦躁,所以提高自己效率的第一件事就是让自己的周围的一切变得井井有条,这样再多的东西你都可以在极短的时间内找到,就像一本字典一样,无论里面有多少字你都可以按照一定的顺序和规则快速的将自己所需的资源准确定位,很明显不仅是写程序,做其他事也都是一样的。
而对于我们的spring的配置文件来说最好的办法就是:按照逻辑先后顺序配置自己的bean:首先是持久层的操作类DAO,其次就是业务的操作层facade,最后便是表处理层Action,它的好处很明显可以让你清晰的定位DAO类所在的位置,一旦出现问题之后你不需要全部的bean都查看,其次上面的bean正好是下面的bean的一个属性也正好有个先后顺序。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
xmlns:tx="http://www.springframework.org/schema/tx">
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="rightsmanagement3PU" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<!-- 配置所有的DAO -->
<bean id="userinfoDAO" class="com.dada.user.dao.UserinfoDao" />
<bean id="userRoleDAO" class="com.dada.realtionship.dao.UserRoleDAO" />
<bean id="functionDAO" class="com.dada.functions.dao.FunctionDAO" />
<bean id="moduleDAO" class="com.dada.module.dao.ModuleDAO" />
<bean id="roleFunctionDAO" class="com.dada.realtionship.dao.RoleFunctionDAO" />
<bean id="roleDAO" class="com.dada.role.dao.RoleDAO" />
<!-- 配置所有的facade -->
<bean id="moduleFacade" class="com.dada.module.service.ModuleFacade">
<property name="md" ref="moduleDAO" />
<property name="rfd" ref="roleFunctionDAO" />
</bean>
<bean id="userinfoFacade" class="com.dada.user.service.UserinfoFacade">
<property name="rd" ref="roleDAO" />
<property name="ud" ref="userinfoDAO" />
<property name="urd" ref="userRoleDAO" />
</bean>
<bean id="roleFacade" class="com.dada.role.service.RoleFacade">
<property name="fd" ref="functionDAO" />
<property name="rd" ref="roleDAO" />
<property name="rfd" ref="roleFunctionDAO" />
<property name="urd" ref="userRoleDAO" />
</bean>
<bean id="functionFacade" class="com.dada.functions.service.FunctionFacade">
<property name="fd" ref="functionDAO" />
<property name="md" ref="moduleDAO" />
<property name="rfd" ref="roleFunctionDAO" />
</bean>
<!-- 配置所有的Action -->
<bean id="userinfoAction" class="com.dada.user.action.UserinfoAction" scope="prototype">
<property name="rf" ref="roleFacade" />
<property name="uf" ref="userinfoFacade" />
</bean>
<bean id="moduleAction" class="com.dada.module.action.ModuleAction" scope="prototype">
<property name="mf" ref="moduleFacade" />
</bean>
<bean id="functionAction" class="com.dada.functions.action.FunctionAction" scope="prototype">
<property name="ff" ref="functionFacade" />
</bean>
<bean id="roleAction" class="com.dada.role.action.RoleAction" scope="prototype">
<property name="irf" ref="roleFacade" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
</beans>