ssh2的application.xml配置文件配置详解

1.导入其他的配置文件。在ssh项目中可以导入其他的配置文件,导入的格式为:

<import resource="classpath:**/applicationContext-bms-sendxml-quartz.xml"/>

这个是导入一个spring的定时任务的配置文件。

2.配置扫描类包并将相应注解纳入spring bean容器,,以及启动注解自动注入:

<context:component-scan base-package="com.XX" />

3.spring自己的事务管理:

<tx:annotation-driven />

4.配置配置文件路径(.properties):

    <bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:jdbc.properties</value><value>classpath:sysconfig.properties</value></list></property></bean>

5.配置数据源:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><property name="driverClass"><value>${c3p0.jdbc.driverClass}</value></property><property name="jdbcUrl"><value>${c3p0.jdbc.url}</value></property><property name="user"><value>${c3p0.jdbc.username}</value></property><property name="password"><value>${c3p0.jdbc.password}</value></property><!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 --><property name="initialPoolSize"><value>${c3p0.jdbc.initialPoolSize}</value></property><!--连接池中保留的最小连接数。 --><property name="minPoolSize"><value>${c3p0.jdbc.minPoolSize}</value></property><!--连接池中保留的最大连接数。Default: 15 --><property name="maxPoolSize"><value>${c3p0.jdbc.maxPoolSize}</value></property><!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --><property name="maxIdleTime"><value>${c3p0.jdbc.maxIdleTime}</value></property><!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --><property name="acquireIncrement"><value>${c3p0.jdbc.acquireIncrement}</value></property><!--每60秒检查所有连接池中的空闲连接。Default: 0 --><property name="idleConnectionTestPeriod"><value>${c3p0.jdbc.idleConnectionTestPeriod}</value></property></bean>

<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">${hibernate.dialect}</prop><!-- 显示Hibernate持久化操作所生成的SQL语句 --><prop key="hibernate.show_sql">false</prop><!-- 将SQL脚本进行格式化后再输出 --><prop key="hibernate.format_sql">false</prop></props></property><property name="packagesToScan"><list><value>com.avit</value></list></property></bean>

6.spring集成hibernate事务管理配置

    <bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory"><ref local="sessionFactory" /></property></bean>

上面是事务管理器,下面配置事务:

    <tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes>    <!-- 方法对应的传播属性 --><tx:method name="get*" read-only="true" /><tx:method name="query*" read-only="true" /><tx:method name="save*" propagation="REQUIRED"/><tx:method name="find*" read-only="true" /><tx:method name="*" /></tx:attributes></tx:advice>  <!-- 事务控制位置,一哪些类的那些方法参与事务,一般在业务层service --> <aop:config proxy-target-class="true"><aop:advisor pointcut="execution(* com.avit.mmsp.padapter.services.*.*(..))"advice-ref="txAdvice" /><aop:advisorpointcut="execution(* com.avit.mmsp.common.message.service.*.*(..))"advice-ref="txAdvice" /></aop:config>

上面的代码表示这个事务的事务管理器为transactionManager,这个advice中规定save的方法的传输方式为required,也就是说没有sessionfactory的时候回自动建立,又得时候就不会建立了。规定了advice的同时还需要指定一个aop:pointcut去引用它,这样这个advice就被联系到这两个pointcut上了。

关于read-only属性的理解:

表示该事物为只读事务,在将事务设置成只读后,相当于将数据库设置成只读数据库,此时若要进行写的操作,会出现错误。

read-only的应用场合:

如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性; 
如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致性,否则,在前条SQL查询之后,后条SQL查询之前,数据被其他用户改变,则该次整体的统计查询将会出现读数据不一致的状态,此时,应该启用事务支持。

ps:注意是一次执行多次查询来统计某些信息,这时为了保证数据整体的一致性,要用只读事务,关于spring和jdbc中怎样设置事务,请参见博文

转载于:https://www.cnblogs.com/hanfeihanfei/p/7930521.html

ssh2的application.xml配置文件配置详解相关推荐

  1. java crossdomin.xml_crossdomain.xml的配置详解

    目录 1 简介 2 crossdomain.xml的配置详解 3 总结 1 简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及 ...

  2. maven之setting.xml的配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  3. logback.xml 常用配置详解

    一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...

  4. pom.xml的配置详解

    <!--可以免费转载,转载时请注明出处 http://pengqb.iteye.com .--> <project xmlns="http://maven.apache.o ...

  5. logback logback.xml 常用配置详解

     一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测 ...

  6. GeneratorConfig.xml文件配置详解及IDEA中的使用,处女座小编整理,值得一看

    目录 一.GeneratorConfig.xml配置文件:(解释见注释) (一).模板的使用方法: (二).对两个标签重点解释下: 二.配置pom.xml: 三.IDEA中的使用: 四.注意事项: 先 ...

  7. maven setting.xml 中文配置详解(全配置)

    <?xml version="1.0" encoding="UTF-8"?> <!--| 官方文档: https://maven.apache ...

  8. xml mysql配置详解_mapper.xml配置文件详解

    --命名空间通常为该mapper映射文件所对应maper接口所在的路径 --开启二级缓存 (实体类必须序列化) --抽取通用的SQL 通用sql --if 通常是where条件语句 --foreach ...

  9. application.properties文件配置详解(核心属性和Web属性) ——Spring Boot配置

    ****************************************核心属性配置***************************************** # 文件编码 banne ...

最新文章

  1. phar.php error 139,composer.phar 安装出现PHP Fatal error解决办法
  2. C++ Primer(第四版) 课后习题3.14 vector单词转大写
  3. Diango博客--9.归档、分类和标签页
  4. RabbbitMq 消费端自定义监听
  5. 树莓派吃灰记——搭建本地git服务
  6. Java基础系列--static关键字
  7. 【计算机组成原理】计算机的发展及应用
  8. php条形码宽度,PHP条形码生成封装类
  9. lesson 19 sold out 票已售完-买东西-what a pity真可惜,hurried to冲忙赶到哪里,at any moment随时
  10. 工作日报这样写 大老板也挑不出错
  11. html5 logo背景透明度,使用纯洁的CSS实现HTML5的新logo
  12. EasyAR笔记01 检测云识别是否存在相似图片
  13. java 动态线程池_线程池的参数动态调整
  14. 读书笔记 - 《斯坦福极简经济学》
  15. jquery+ajx post/get 实例
  16. 对于M1卡密钥控制字设置的总结
  17. PaddlePaddle入门-1
  18. JAVA语言的优点及特性
  19. 7-3 出租车计价 (15 分)
  20. 关于netfilter总结及包过滤防火墙实现

热门文章

  1. TrueNAS Enterprise是什么
  2. 今年的大环境很差,创业失败的和失去工作的特别多
  3. According to a report from Bleeping Computer
  4. 2021 年高教社杯全国大学生数学建模竞赛题目(B 题 乙醇偶合制备 C4 烯烃)
  5. 5.4监听socket
  6. 栈在括号匹配中的应用
  7. QFileInfoList
  8. Ubuntu“无法解析或打开软件包的列表或是状态文件”的解决办法。
  9. php 设为首页 收藏_如何在网站上添加“设为首页”“加入收藏”
  10. sql server 缓存_了解SQL Server查询计划缓存