applicationContext.xml的配置文件模板

 <?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:aop="http://www.springframework.org/schema/aop"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <!-- 数据源配置 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass">
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:sqlserver://192.168.2.80\SQL2005;databaseName=ledger</value>
</property>
<!-- 默认初始化获取3个连接 -->
<!-- 空闲连接检查时间 -->
<property name="idleConnectionTestPeriod">
<value>18000</value>
</property>
<!-- 最大空闲连接时间 3小时 -->
<property name="maxIdleTime">
<value>25000</value>
</property>
<!-- 检查获取的连接是否有效 -->
<property name="testConnectionOnCheckin">
<value>true</value>
</property>
<property name="testConnectionOnCheckout">
<value>true</value>
</property>
<!-- 测试语句 -->
<property name="preferredTestQuery">
<value>select 1</value>
</property>
<property name="properties">
<props>
<prop key="user">sa</prop>
<prop key="password">123456</prop>
<prop key="c3p0.acquire_increment">5</prop>
<prop key="c3p0.idle_test_period">18000</prop> <!-- 连接空闲超时时间 -->
<prop key="c3p0.timeout">20000</prop>
<prop key="c3p0.max_size">40</prop>
<prop key="c3p0.max_statements">100</prop>
<prop key="c3p0.min_size">10</prop>
</props>
</property>
</bean>
<!-- session工厂(包含数据库的连接信息,实体类和表的映射文件) -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop><!--hibernate的数据库方言 本示例:sqlserver数据库 -->
<prop key="hibernate.show_sql">true</prop><!-- 显示sql语句 -->
<prop key="hibernate.format_sql">true</prop><!-- 格式化控制台显示sql语句 -->
<prop key="hibernate.hbm2ddl.auto">update</prop><!-- 如果映射文件在数据库中无表,自动生成表 -->
</props>
</property> <!-- 导入hibernate的映射文件 实体类.hbm.xml文件 -->
<property name="mappingDirectoryLocations">
<list>
<value>classpath:/org/ledger/entity</value>
</list>
</property> </bean>
<!--spring的事务 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <!-- 事务的配置。类似于切点。 -->
<tx:advice id="txadvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="saveSysLog" propagation="REQUIRES_NEW" /><!--requires_new:新建事务,如果当前存在事务,把当前事务挂起 -->
<tx:method name="get*" propagation="REQUIRED" read-only="true"/><!--required:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中 -->
<tx:method name="find*" propagation="REQUIRED" read-only="true"/>
<tx:method name="query*" propagation="REQUIRED" read-only="true"/>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice> <!-- 配置日志的增强类(说白了,所有请求的连接点都要先到该类中的方法跑一下。)-->
<bean id="logAspect" class="org.ledger.interceptor.LogAspect" autowire="byType"></bean> <!-- aop:config节点中可以定义多个切面 -->
<aop:config proxy-target-class="true"> <!-- 该值为true,表示用spring的cglib动态代理技术代理切面,为false时表明以jdk的动态代理技术代理切面 -->
<!-- 配置事务的切点 -->
<aop:pointcut id="serviceMethods" expression="execution(* org.ledger.service.*Service.*(..))"/> <!-- 定义一个切点 --> <!-- <aop:advisor>”则定义了在哪些连接点应用什么 -->
<!-- 此节点时配置切点加上事务管理 (spring自身的事务管理类,给所有的业务类加上事务,面向切面的)-->
<!-- advisor 是spring aop中的一个概念。
advisor 可以翻译为增强器, 他是切入点(pointcut)和advice 的适配器。 它有两部门组成:一个增强以及一个说明在何处增强的切入点。
增强器完整的模块化了一个方面(因为一个方面,就是由在什么地方增强和怎么增强组成的) 。 增强和切入点可以复用。 -->
<aop:advisor advice-ref="txadvice" pointcut-ref="serviceMethods" /> <!-- 切点和增强的复合物,advice-ref引用的是增强,pointcut-ref引用的切点 --> <!-- 配置日志 (程序员开发的)-->
<!-- “<aop:aspect>”实际上是定义横切逻辑,就是在连接点上做什么 -->
<aop:aspect ref="logAspect"><!-- 定义一个切面 ,ref引用的是增强方法所在的bean。本示例,表示该日志切面的操作方法都在logAspect所代表的java类中-->
<aop:pointcut expression="execution(* org.ledger.service.*Service.*(..))" id="logPointcut" /><!-- 定义日志的切点,动态代理接口 -->
<aop:after-returning method="saveLog" pointcut-ref="logPointcut" /><!-- 增强的方法+切点。意思是,执行完该切点后的连接点(方法),调用增强方法 -->
<aop:after-throwing method="saveLogHasThrowing" pointcut-ref="logPointcut" /><!-- 增强方法+切点。意思是,执行该切点的连接点(方法)抛出异常,调用增强方法 -->
</aop:aspect>
</aop:config> <!-- 给项目加入webservice的扫描器(应该是注解) -->
<context:component-scan base-package="org.ledger.webservice"></context:component-scan>
<!-- 导入action dao service 等的bean节点配置-->
<import resource="applicationContext-dao.xml"/>
<import resource="applicationContext-service.xml"/>
<import resource="applicationContext-webservice.xml"/>
<import resource="applicationContext-action.xml"/>
</beans>

ssh框架中spring整合hibernate的配置文件模板(带详细注释)的更多相关文章

  1. Maven环境下搭建SSH框架之Spring整合Hibernate

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...

  2. SSH框架之Spring+Struts2+Hibernate整合篇

    回顾 -Hibernate框架 ORM: 对象关系映射.把数据库表和JavaBean通过映射的配置文件映射起来, 操作JavaBean对象,通过映射的配置文件生成SQL语句,自动执行.操作数据库. 1 ...

  3. Maven环境下搭建SSH框架之Spring整合Struts2

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Struts2:2.5.10 Spring:4.3.8.RELEASE 注意:其他版本在某些特性的使用上可能稍微存在差别 2.准备工作 ...

  4. SSH框架中spring的原理

    在ssh项目中,是有明确分工的,spring的作用就相当于将struts和hibernate连接起来,是将两个没有关系的框架的特性,方法,action都放在spring的配置文件中使他们建立关系.取他 ...

  5. SSH框架中 Spring设置定时器 Quartz

    一,首先下载quartz-1.6.0.jar架包,到lib目录下 二,写你自己定时器业务方法 package com.lbnet.lzx.timing; import org.quartz.JobEx ...

  6. SSH整合之spring整合hibernate

    SSH整合要导入的jar包: MySQL中创建数据库 create database ssh_db; ssh_db 一.spring整合hibernate带有配置文件hibernate.cfg.xml ...

  7. 在SSH框架中使用Spring的好处(转)

    以下是我总结下今天笔试中SSh中的总结: 在SSH框架中spring充当了管理容器的角色.我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不 ...

  8. Spring整合Hibernate的方法

    一.基本支持 Spring 支持大多数流行的 ORM 框架, 包括 Hibernate JDO, TopLink, Ibatis 和 JPA. Spring 对这些 ORM 框架的支持是一致的, 因此 ...

  9. 【SSH框架】系列之 Spring 整合 Hibernate 框架

    1.SSH 三大框架整合原理 Spring 与 Struts2 的整合就是将 Action 对象交给 Spring 容器来负责创建. Spring 与 Hibernate 的整合就是将 Session ...

随机推荐

  1. (转)WPF学习资源整理

    由于笔者正在学习WPF,所以整理出网络中部分WPF的学习资源,希望对同样在学习WPF的朋友们有所帮助. 首推刘铁猛的<深入浅出WPF>系列博文 1.深入浅出WPF(1)——什么是WPFht ...

  2. 五,动态库(dll)的封装与使用

    在项目开发中,我们经常会使用到动态库(dll),要么是使用别人的动态库,要么是将功能函数封装为动态库给别人用.那么如何封装和使用动态库呢?以下内容为你讲解. 1.动态库的封装 以vs2010为例,我们 ...

  3. 分布式之zk的应用场景

    分布式应用系统中,经常会用到zk,比如dubbo注册中心,kafka分布式集群等都用到zk这一工具.除了这些用来做分布式集群外,zk还有那西应用场景事我们可以使用到该工具的呢?所以接下来就是我们要了解 ...

  4. LightOJ 1071 Baker Vai(拆点+最大费用流)题解

    题意:给一个n*m的方格,每个格子上都有一个数字表示价值,小A在左上角,他从左上角走到右下角只能向右或向下走,然后再从右下角走上左上角,这次只能向上或向左走,这两条路绝对没有重复,问你怎样走有最大价值 ...

  5. scrapy中的canonicalize_url【转】

    转自:http://www.leyle.com/archives/canonicalize_url.html 思考一下:对url进行规范化处理是否是必须的?因为这一步处理涉及到编码转换,对于一个网页的 ...

  6. TC SRM 584 DIV2

    250pt: 水题set处理. 500pt: 题意: 给你一个图,每条边关联的两点为朋友,题目要求假设x的金钱为y,则他的左右的朋友当中的钱数z,取值为y - d <= z <= y + ...

  7. vim 将文件从dos格式转换到unix格式

    dos格式文件传输到unix系统时,会在每行的结尾多一个^M(/r),当然也有可能看不到.但是在vim的时候,会在下面显示此文件的格式,比如 "dos.txt" [dos] 120 ...

  8. [转]如何使用VS 2013發布一個可以在Windows XP中獨立運行的可執行文件

    https://read01.com/Mg337.html (台/湾的论坛,需要f/q) 1. 閱讀此文章的同學先看看我的另外一篇文章: 現在,我們深入探討一下: <如何使用VS 2013發布一 ...

  9. 【转】使用sklearn做特征工程

    1 特征工程是什么? 有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已.那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中 ...

  10. mysql 常见数据类型

    ---恢复内容开始--- MySQL常见的数据类型 一.数据类型是什么? 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 有一些数据是要存储为 ...