拆分Spring配置文件

把一个applicationContext.xml拆分(还可以再分出action部分和tx事务部分)

  1、dao部分

<!-- 配置DAO -->
    <bean id="employeeDao" class="cn.bdqn.jboa.dao.hibimpl.EmployeeDaoHibImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="claimVoucherDao" class="cn.bdqn.jboa.dao.hibimpl.ClaimVoucherDaoHibImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="claimVoucherDetailDao" class="cn.bdqn.jboa.dao.hibimpl.ClaimVoucherDetailDaoHibImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

  2、service部分

<!-- 配置业务层 -->
    <bean id="employeeService" class="cn.bdqn.jboa.service.impl.EmployeeServiceImpl">
        <property name="employeeDao" ref="employeeDao"></property>
    </bean>
    <bean id="claimVoucherService" class="cn.bdqn.jboa.service.impl.ClaimVoucherServiceImpl">
        <property name="claimVoucherDao" ref="claimVoucherDao" />
        <property name="claimVoucherDetailDao" ref="claimVoucherDetailDao" />
    </bean>

  3、基本类

<!-- 通过<import resource="xxx.xml">方式注入多个配置文件 -->
    <!--
    <import resource="applicationContext-dao.xml" />
    <import resource="applicationContext-service.xml" />
    -->

    <!-- 定义dbcp数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <!-- 指定JDBC驱动类 -->
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
        </property>
        <!-- 提供连接数据库的URL地址 -->
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl">
        </property>
        <!-- 提供连接数据库的用户名和密码 -->
        <property name="username" value="bdqn"></property>
        <property name="password" value="bdqn"></property>
    </bean>
    <!-- 定义SessionFactory Bean -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <!-- 为LocalSessionFactoryBean注入定义好的数据源 -->
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <!-- 添加Hibernate配置参数 -->
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.OracleDialect
                </prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
        <!-- 添加对象关系映射文件 -->
        <!-- <property name="mappingResources">
            <list>
                <value>cn/bdqn/jboa/entity/ClaimVoucher.hbm.xml</value>
                <value>cn/bdqn/jboa/entity/ClaimVoucherDetail.hbm.xml</value>
                <value>cn/bdqn/jboa/entity/Employee.hbm.xml</value>
                <value>cn/bdqn/jboa/entity/CheckResult.hbm.xml</value>
                <value>cn/bdqn/jboa/entity/Position.hbm.xml</value>
                <value>cn/bdqn/jboa/entity/Department.hbm.xml</value>
                <value>cn/bdqn/jboa/entity/Dictionary.hbm.xml</value>
            </list>
        </property> -->
        <property name="mappingDirectoryLocations">
            <list>
                <value>classpath:cn/bdqn/jboa/entity/</value>
            </list>
        </property>
    </bean>

    <!-- 定义事务管理器 -->
    <bean id="txManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <tx:advice id="txAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="find*" read-only="true" />
            <tx:method name="search*" read-only="true" />
            <tx:method name="query*" read-only="true" />
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="del*" propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="do*" propagation="REQUIRED" />
            <tx:method name="*" propagation="REQUIRED" read-only="true" />
        </tx:attributes>
    </tx:advice>
    <aop:config>
        <!-- 定义切入点 -->
        <aop:pointcut id="serviceMethod"
            expression="execution(* cn.bdqn.jboa.service.*.*(..))" />
        <!-- 将事务通知与切入点组合 -->
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethod" />
    </aop:config>

    <!-- 控制层 (id为struts.xml中的class) 以下每个bean必须都要增加scope="prototype"属性 -->
    <!-- <bean id="userAction" class="cn.bdqn.jboa.action.UserAction"
        scope="prototype">
        <property name="employeeService" ref="employeeService"></property>
    </bean> -->
时间: 2024-08-10 11:14:36

拆分Spring配置文件的相关文章

spring配置文件拆分策略及方法

一.拆分策略 如果一个开发人员负责一个模块,我们采用公用配置(包括数据源.事务等)+每个系统模块一个单独配置文件(包括Dao.Service.Web控制器)的形式 如果是按照分层进行的分工,我们采用公用配置(包括数据源.事务等)+DAO Bean配置+业务逻辑Bean配置+Web控制器配置的形式 二.拆分方法 如果有多个配置文件需要载入,可以分别传入多个配置文件名,或以String[]方式传入多个配置文件名.或者还可以采用通配符(*)来加载多个具有一定命名规则的配置文件.如下 Applicati

spring配置文件详解

转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常有用 spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的"图纸".JavaEE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图".Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是

监听器如何获取Spring配置文件(加载生成Spring容器)

Spring容器是生成Bean的工厂,我们在做项目的时候,会用到监听器去获取spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个监听器,在项目启动时将首页的数据查询出来放到application里,即在监听器里调用后台商品业务逻辑的方法,也就是说我们需要在监听器里获取Spring中配置的相应的bean.先把监听器创建出来: 1. 创建InitDataListener 创建一个监听器InitDataListener继承Serv

maven创建web工程Spring配置文件找不到问题解决方案

使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [applicationContext.xml] cannot be opened because it does not exist错误.但是用mvn clean package命令编译时成功的.web.xml配置的如下 <context-param><param-name>context

Spring配置文件

spring配置文件名字问题 博客分类: Spring SpringXMLWeb 在做java开发时,如果用到spring,那么在做j2ee开发都可能用到spring的配置文件,那么spring的配置文件名到底应是什么呢?默认的情况下spring会从web-inf目录下去找spring的配置文件,并且spring的配置文件名是applicationContext.xml,如果不想让spring的配置文件名为applicationContext.xml,而是把配置文件名改成beans.xml,那么

一份spring配置文件及其详解

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/axu20/archive/2009/10/14/4668188.aspx 1.基本配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/

Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml

转自:http://www.cnblogs.com/wj-wangjun/archive/2009/10/21/1587624.html Hibernate SQL方言 (hibernate.dialect) 数据库 hibernate方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect

SSH问题:系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 &#39;beans&#39; 的声明“异常

现象:spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 47; cvc-elt.1: 找不到元素 'beans' 的声明r的异常信息. 造成该异常原因有两种: 第一,配置文件头部配置的xsd版本信息不正确,造成解析时出错.spring头部xsd或dtd校验文件的查找分两步,第一先从本地jar包中找,如果找到则用

spring 配置文件的头部 xmls

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx