读书人

Spring 2.有诠释的配置文件中各层配置

发布时间: 2012-11-06 14:07:00 作者: rapoo

Spring 2.*有注释的配置文件中各层配置详解

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
?? ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
???xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
?? ?
?? ?<bean id="sessionFactory"
?? ??? ?/>
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 用户注册DAO-->
?? ?<bean id="bspuserdao" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 认证公司DAO-->
?? ?<bean id="bspcorpspldao" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 联系人DAO-->
?? ?<bean id="bspmysplcontactdao"
?? ??? ?/>
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 公告信息DAO-->
?? ?<bean id="bspmessagedao" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 公告信息DAO-->
?? ?<bean id="dao" /> <!--1.使用了数据源类对象。-->
?????????????????? <!-- ?where's managerfactory ,2.此为包是所有务逻辑的管理器,业务逻辑又使用了dao类-->
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 询价单DAO-->
?? ?<bean id="bspinqdao" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 询价单涉及部件DAO-->
?? ?<bean id="bspinqpartsdao" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 供应商收到询价记录DAO-->
?? ?<bean id="bspinqspldao" />
?? ??? ?</property>
?? ?</bean>
?? ?
?? ?
<!-- 账户事务逻辑层注入DAO层组件 -->
?? ?<bean id="accountmanager" />
?? ??? ?</property>
?? ??? ?<property name="bspcorpdao">
?? ??? ??? ?<ref local="bspcorpdao" />
?? ??? ?</property>
?? ??? ?<property name="bspcorpspldao">
?? ??? ??? ?<ref local="bspcorpspldao" />
?? ??? ?</property>
?? ??? ?<property name="bspmysplcontactdao">
?? ??? ??? ?<ref local="bspmysplcontactdao" />
?? ??? ?</property>
?? ?</bean>
?? ?<bean id="messagemanager" />
?? ??? ?</property>
?? ?</bean>
?? ?<bean id="inqmanager" />
?? ??? ?</property>
?? ??? ?<property name="bspinqpartsdao">
?? ??? ??? ?<ref local="bspinqpartsdao" />
?? ??? ?</property>
?? ??? ?<property name="bspinqspldao">
?? ??? ??? ?<ref local="bspinqspldao" />?????????????????????????????????????????????????
?? ??? ?</property>
?? ?</bean>????????????????????????????????? ? <!--3.特定业务逻辑层-->
?<!--1.具体业务类使用了dao对象;2.定义了统一管理他们的管理类,注入业务业务逻辑类对象-->
?? ?
?? <!-- 工厂服务层注入事务逻辑层组件 -->
?? ?<bean id="managerfactory" />
?? ??? ?</property>
?? ??? ?<property name="messagemanager">
?? ??? ??? ?<ref local="messagemanager" />
?? ??? ?</property>
?? ??? ?<property name="inqmanager">
?? ??? ??? ?<ref local="inqmanager" />
?? ??? ?</property>
?? ?</bean>
?? ???????????????????????????????????????????????? <!--2.数据持久的事务管理层-->
<!--1.定义事务管理器,使用数据源对象 2.配置事务拦截器,注入了管理器对象,并定义DML事务传播属性-->
?<!--3.定义BeanNameAutoProxyCreator,为指定的dao类自动添加事务拦截器-->

???? <!-- 事务管理器 -->
?? ?<bean id="transactionManager"????????????
?? ??? ?/>
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 配置事务拦截器-->
?? ?<bean id="transactionInterceptor"
?? ??? ?/>
?? ??? ?</property>
?? ??? ?<property name="transactionAttributes">
?? ??? ??? ?<!-- 下面定义事务传播属性-->
?? ??? ??? ?<props>
?? ??? ??? ??? ?<prop key="save">PROPAGATION_REQUIRED</prop>
?? ??? ??? ??? ?<prop key="dele*">PROPAGATION_REQUIRED</prop>
?? ??? ??? ??? ?<prop key="find*">PROPAGATION_REQUIRED</prop>
?? ??? ??? ??? ?<prop key="query">PROPAGATION_REQUIRED</prop>
?? ??? ??? ??? ?<prop key="valid">PROPAGATION_REQUIRED</prop>
?? ??? ??? ?</props>
?????? </property>
?? ?</bean>
?? ?
??? <!--定义BeanNameAutoProxyCreator ,该bean 是个bean 后处理器,无须被引用,因此
?? ??? ?没有id 属性
?? ??? ?这个bean 后处理器,根据事务拦截器为目标bean 自动创建事务代理-->
?? ?<bean
?? ??? ?/>
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 公司及管理员注册 -->
?? ?<bean name="/MyCountManager/REG_CORP_ADMIN1" id="UserIsReg"
?? ??? ?scope="prototype"><!-- why use that's name标识 -->
?? ??? ?<property name="managerfactory">?????????? <!-- 上面name 是为了注释中的namespace下的Action value下注入对象处理页面控制 -->
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 普通用户注册 -->
?? ?<bean name="/MyCountManager/REG_CORP_USER"
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 用户注册 -->
?? ?<bean name="/MyCountManager/BSP_User_Reg" id="BSPUserReg" ?
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!-- 用户找回密码-->
?? ?<bean name="BSP_User_GetPass"
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!--显示己注册的公司信息-->
?? ?<bean name="USERREG"
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!--显示己认证公司信息-->
?? ?<bean name="/MyOrderParts/BUYCERSPL"
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!--显示联系人信息-->
?? ?<bean name="/MyOrderParts/BUYSPLLIST"
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!--公告板管理-->
?? ?<bean name="/MessageBoard/bspMessage"
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!--询价管理-->
?? ?<bean name="/MyOrderParts/BUYINQEDIT" id="BUYINQEDIT" ?
?? ??? ?scope="prototype">
?? ??? ?<property name="managerfactory">
?? ??? ??? ?<ref local="managerfactory" />
?? ??? ?</property>
?? ?</bean>
?? ?<!--收到询价管理-->
?? ?<bean name="/MySaleparts/SALERECINQLIST"
?? ??? ?/>
?? ??? ?</property>
?? ?</bean>
</beans>

在有注释的Action类中如下:
@Namespace("/MyCountManager")
public class REG_CORP_ADMIN1Action extends BaseAction {
??? private static final long serialVersionUID = 1L;
??? REG_CORP_ADMIN1VO regcorpadmin;//管理员注册VO
??? public void setRegcorpadmin(REG_CORP_ADMIN1VO regcorpadmin) {
??? ??? this.regcorpadmin = regcorpadmin;
??? }
??? public REG_CORP_ADMIN1VO getRegcorpadmin() {
??? ??? return this.regcorpadmin;
??? }
??? public String UserIsReg(String uid) {//判断用户是否已注册,供DWR调用
??? ??? if (this.managerfactory.getAccountmanager().findByUserId(uid) != null) {
??? ??? ??? return "yes";
??? ??? }
??? ??? return "no";
??? }
??? public String CorpIsReg(String cid) {//判断企业是否已注册,供DWR调用
??? ??? if (this.managerfactory.getAccountmanager().findByCorpId(cid) != null) {
??? ??? ??? return "yes";
??? ??? }
??? ??? return "no";
??? }
??? @Action(value = "REG_CORP_ADMIN1",
results = { @Result(name = "input", location = "/MyCountManager/REG_CORP_ADMIN1.jsp") })
??? public String execute() {..........}
}
?????? <!--5.客户表现层--->
?????? <!--略,因为spring配置文件中没有-->

读书人网 >编程

热点推荐