把一个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> -->

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

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

    一.拆分策略 如果一个开发人员负责一个模块,我们采用公用配置(包括数据源.事务等)+每个系统模块一个单独配置文件(包括Dao.Service.Web控制器)的形式 如果是按照分层进行的分工,我们采用公 ...

  2. 使用import简化spring的配置 spring import 标签的解析 使用import或加载spring配置时,报错误There is no ID/IDREF 多个Spring配置文件import resource路径配置

    spring-import 标签的解析.使用案例: 对于spring配置文件的编写,我想,对于经历过庞大项目的人,都有那种恐惧的心理,太多的配置文件.不过,分模块都是大多数人能想到的方法,但是,怎么分 ...

  3. 你不知道的Spring配置文件

    Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的"图纸".Java EE程序员必须学会并灵活应用这份"图纸&quo ...

  4. Spring配置文件详解

      转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常有用 spring配置文件是用于指导Sp ...

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

    转自:http://www.cnblogs.com/wj-wangjun/archive/2009/10/21/1587624.html Hibernate SQL方言 (hibernate.dial ...

  6. Spring配置文件详解 - applicationContext.xml文件路径

    spring的配置文件applicationContext.xml的默认地址在WEB-INF下,只要在web.xml中加入代码 org.springframework.web.context.Cont ...

  7. Spring配置文件详解 – applicationContext.xml文件路径

    Spring配置文件详解 – applicationContext.xml文件路径 Java编程                 spring的配置文件applicationContext.xml的默 ...

  8. spring配置文件详解--真的蛮详细

    spring配置文件详解--真的蛮详细   转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...

  9. Spring 配置文件详解 (以2.5为例)

    转载自:http://blog.csdn.net/zzjjiandan/article/details/22922847          Spring配置文件是用于指导Spring工厂进行Bean生 ...

随机推荐

  1. Objective-c内存管理

    cocoa中的内存管理机制 引用计数 每一个对象都拥有一个引用计数 当对象创建的时候,引用计数的值是1 当发生retain消息时,该对象的引用计数+1,该对象的引用计数为2 当向这个对象发送relea ...

  2. OpenShift

    一步一脚印 停停走走,回头看看 博客园 首页 新随笔 联系 订阅 管理 随笔 - 24  文章 - 8  评论 - 2 调戏OpenShift:一个免费能干的云平台   一.前因后果 以前为了搞微信的 ...

  3. 关于matlab中特殊字符, 上标和下标

    'T=25\circC',(摄氏度) 下标用 _{下划线} 上标用^ (尖号) 希腊字母等特殊字符用 α \alpha β \beta γ \gamma θ \theta Θ \Theta Г \Ga ...

  4. Linux常用指令---工作

    查看所有用户cat /etc/passwd 复制整个目录cp -ri A/B/* A1/B1/ 若复制过程中询问是否覆盖,输入y按回车 另外若A A1不在同一目录下,最好填绝对路径,就是/xxx/xx ...

  5. 云计算之路-阿里云上:2014年6月12日16:14遭遇SLB故障

    这是今天遇到的第3次故障,故障是首先被园友发现的,访问园子出现来自SLB的错误提示:400 Bad Request - Powered by Tengine. 查看Windows性能监视器发现,在故障 ...

  6. 【微收藏】来自Twitter的自动文字补齐jQuery插件 - Typeahead.js

    没图没逼格 事发有因 该插件可以结合本地数据进行一些操作.推荐关注一下H5的几种数据存储的方式(localstorage与sessionstorage.IndexedDB.离线缓存manifest文件 ...

  7. dom4j 使用总结

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件 dom4j的使用方法简单总结来说如下: ①可以创建一个新的xml文件 ②利用SAXReader和File对象创建一个已存在 ...

  8. IOS动态判断UITextField是否输入为手机号

    现在使用的app大部分都用到手机号注册,很多app注册的时候会判断手机号,可以根据当前输入文本来判断“获取验证码”的按钮是否可用 判断输入文本是通过UITextField的代理的 -(BOOL)tex ...

  9. 使用jquery获取url及url参数的方法及定义JQuery扩展方法

    1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识. 2.jquery获取 ...

  10. [Bug]当IDENTITY_INSERT设置为OFF时,不能为表“xx”中的标识列插入显示的值

    写在前面 在设计数据库表时,将主键设置为了自增的.在使用linq to sql的时候,添加数据,出现此错误. 解决方案 找到linq to sql生成的**.dbml文件,在对应的表上面右键修改其属性 ...