/src/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:context="http://www.springframework.org/schema/context"  xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop"  xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc"

 xsi:schemaLocation="  http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-4.3.xsd  http://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-4.3.xsd  http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx-4.3.xsd  http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop-4.3.xsd     http://www.springframework.org/schema/mvc     http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd     ">

 <!-- 加载配置属性文件 -->  <context:property-placeholder   ignore-unresolvable="true" ignore-resource-not-found="true"   location="classpath:/config.properties" />

 <!-- Spring 直接操作数据库 -->  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"   destroy-method="close">   <property name="driverClass" value="${jdbc.driverClass}"></property>   <property name="jdbcUrl" value="${jdbc.url}"></property>   <property name="user" value="${jdbc.user}"></property>   <property name="password" value="${jdbc.password}"></property>   <!-- <property name="show_sql" value="${jdbc.show_sql}"></property> <property    name="format_sql" value="${jdbc.format_sql}"></property> -->

  <!-- 连接池中保留的最小连接数,默认为:3 -->   <property name="minPoolSize">    <value>25</value>   </property>

  <!-- 连接池中保留的最大连接数。默认值: 15 -->   <property name="maxPoolSize">    <value>100</value>   </property>

  <!-- 初始化时获取连接数,取值应在minPoolSize与maxPoolSize之间。否则会被最小连接数的值替换 Default: 3 -->   <property name="initialPoolSize">    <value>50</value>   </property>

  <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->   <property name="acquireIncrement">    <value>50</value>   </property>

  <!--最大空闲时间,多少秒内未使用则连接被丢弃。若为0则永不丢弃。默认值: 0 -->   <property name="maxIdleTime">    <value>15</value>   </property>

  <!--C3P0会有一个Task检测pool内的连接是否正常,此参数就是Task运行的频率。默认值为0,表示不进行检测。 每隔多少秒检查所有连接池中的空闲连接。 -->   <!-- <property name="idleConnectionTestPeriod"> <value>180</value> </property> -->

  <!-- c3p0全局的PreparedStatements缓存的大小。如果maxStatements与maxStatementsPerConnection均为0,则缓存不生效,只要有一个不为0,则语句的缓存就能生效。如果默认值:0 -->   <property name="maxStatements">    <value>100</value>   </property>   <property name="maxStatementsPerConnection">    <value>0</value>   </property>

  <!-- 程序从连接池checkout session的时候 等待1000毫秒,超时则抛出异常,即获取一个connection需要的时间,单位毫秒 -->   <!-- <property name="checkoutTimeout"> <value>1000</value> </property> -->   <!-- 调试信息的配置 -->   <property name="debugUnreturnedConnectionStackTraces">    <value>true</value>   </property>   <!-- 在连接被应用程序 checkout后指定时间内未checkin则由连接缓冲池执行kill操作,同时打印堆栈跟踪信息。 maxIdleTime的设置是    300秒,所以,我把unreturnedConnectionTimeout设置成350秒,如果达到最大存活时间后,连接还是不能被连接缓冲池正常关闭,那么肯定出现了连接泄漏,此时,再过50秒后,由连接缓冲池主动执行kill。    他将物理的关闭,而不是返回池中,主要是防止连接被长期使用不释放 单位:秒 -->   <property name="unreturnedConnectionTimeout">    <value>350</value>   </property>   <!-- 请求连接会发生在 pool内连接少于min值或则等待请求数>池内能提供的连接数,定义在从数据库获取新连接失败后重复尝试的次数。默认值:    30 ;小于等于0表示无限次 -->   <property name="acquireRetryAttempts">    <value>30</value>   </property>   <!-- 请求连接会发生在 pool内连接少于min值或则等待请求数>池内能提供的连接数,定义在从数据库获取新连接失败后重复尝试的频率。默认为:1000毫秒 -->   <property name="acquireRetryDelay">    <value>5000</value>   </property>

  <!-- c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能通过多线程实现多个操作同时被执行。Default:    10 -->   <property name="numHelperThreads">    <value>50</value>   </property>

  <!-- true表示pool向数据库请求连接失败后标记整个pool为block并close,就算后端数据库恢复正常也不进行重连,客户端对pool的请求都拒绝掉。false表示不会标记    pool为block,新的请求都会尝试去数据库请求connection。默认为false。因此,如果想让数据库和网络故障恢复之后,pool能继续请求正常资源必须把此项配置设为false -->   <property name="breakAfterAcquireFailure">    <value>true</value>   </property>

  <!-- 将建一张名为改配置项的空表,并使用其自带的查询语句进行测试。如果定义了这个参数,那么属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。默认值:    null。 -->   <!-- <property name="automaticTestTable"> <value>sys_connectiontest</value>    </property> -->

  <!-- 表示测试方式,默认是采用DatabaseMetaData.getTables()来测试connection的有效性,但可以通过配置来定制化测试语句,通过其名字就很好理解其含义,无需过多解释 -->   <!-- <property name="preferredTestQuery"> <value></value> </property> -->

  <!-- true表示在每次从pool内checkout连接的时候测试其有效性,这是个同步操作,因此应用端的每次数据库调用,都会先通过测试sql测试其有效性,如果连接无效,会关闭此连接并剔除出pool,并尝试从pool内取其他连接,默认为false,此特性要慎用,会造成至少多一倍的数据库调用。 -->   <property name="testConnectionOnCheckout">    <value>false</value>   </property>

  <!-- true表示每次把连接checkin到pool里的时候测试其有效性,因为是个事后操作,所以是异步的,应用端不需要等待测试结果,但同样会造成至少多一倍的数据库调用。 -->   <property name="testConnectionOnCheckin">    <value>false</value>   </property>

 </bean>

 <!-- hibernate 操作数据库 -->  <bean id="sessionFactory"   class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">   <property name="dataSource" ref="dataSource"></property>   <property name="hibernateProperties">    <props>     <prop key="hibernate.dialect">${jdbc.dialect}</prop>     <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>     <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>     <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>     <prop key="hibernate.temp.use_jdbc_metadata_defaults">false</prop>     <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>     <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory     </prop>     <!-- 是否开启二级缓存 -->     <prop key="hibernate.cache.use_second_level_cache">false</prop>     <!-- 是否开启查询缓存 -->     <prop key="hibernate.cache.use_query_cache">false</prop>     <!-- 数据库批量查询最大数 -->     <prop key="hibernate.jdbc.fetch_size">200</prop>     <!-- 数据库批量更新、添加、删除操作最大数  这个坑,弄了很长时间,设置小了出问题-->     <prop key="hibernate.jdbc.batch_size">500</prop>     <!-- 指定hibernate在何时释放JDBC连接 -->     <prop key="hibernate.connection.release_mode">auto</prop>     <!-- <property name="current_session_context_class">thread</property> -->     <!-- 创建session方式 hibernate4.x 的方式 -->     <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext     </prop>

    <!-- javax.persistence.validation.mode默认情况下是auto的,就是说如果不设置的话它是会自动去你的classpath下面找一个bean-validation**包      所以把它设置为none即可 -->     <prop key="javax.persistence.validation.mode">none</prop>

    <!-- <prop key="hibernate.hbm2ddl.auto">update</prop> -->

   </props>   </property>   <property name="packagesToScan">    <list>     <value>model</value>    </list>   </property>  </bean>

 <!-- 配置Service层事务,多层事务都是REQUIRED,不会出问题 -->  <!-- <aop:config proxy-target-class="true"> <aop:config> <aop:pointcut id="autoproxy"   expression="execution(* cn.cdjs.service.*.*(..))"></aop:pointcut> <aop:advisor   advice-ref="txAdvice" pointcut-ref="autoproxy"></aop:advisor> </aop:config> -->

 <!-- 创建共享的jdbctemplate -->  <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">   <property name="dataSource" ref="dataSource"></property>  </bean>

 <!-- 配置 注解管理事务proxy-target-class="true" --> <!--  <tx:annotation-driven transaction-manager="transactionManager1" /> -->  <!-- hibernate 事务管理 --> <!--   <bean id="transactionManager1"   class="org.springframework.orm.hibernate5.HibernateTransactionManager">   <property name="sessionFactory" ref="sessionFactory"></property>  </bean>   -->

 <!-- 配置 注解管理事务proxy-target-class="true" -->  <tx:annotation-driven transaction-manager="transactionManager" />  <!-- 配置jdbc事务管理 -->  <bean id="transactionManager"   class="org.springframework.jdbc.datasource.DataSourceTransactionManager">   <property name="dataSource" ref="dataSource"></property>  </bean>

 <!-- Transactional 注意的几点: -->  <!-- 1 @Transactional 只能被应用到public方法上, -->  <!-- 对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能. -->

 <!-- 2 默认情况下,一个有事务方法, -->  <!--遇到RuntiomeException 时会回滚 . 遇到 受检查的异常 是不会回滚 的. -->  <!--要想所有异常都回滚,要加上 @Transactional( rollbackFor={Exception.class,其它异常}) . -->

 <!--@Transactional 的所有可选属性如下: -->  <!-- 属性**********类型 ***************默认值*************说明 -->  <!-- propagation * Propagation枚举 ** REQUIRED********* 事务传播属性 (下有说明) -->  <!-- isolation *** isolation枚举 ***** DEFAULT********* 事务隔离级别 (另有说明) -->  <!-- readOnly **** boolean ********** false*********** 是否只读 -->  <!-- timeout ***** int *************** -1 ************ 超时(秒) -->  <!-- rollbackFor * Class[] ************ {}************ 需要回滚的异常类 -->  <!-- rollbackForClassName * String[] ** {}************ 需要回滚的异常类名 -->  <!-- noRollbackFor- Class[] *********** {} *********** 不需要回滚的异常类 -->  <!-- noRollbackForClassName String[] ** {} *********** 不需要回滚的异常类名 -->

 <!-- 支持注解 -->  <context:annotation-config></context:annotation-config>  <!-- 自动扫描与装配bean -->  <context:component-scan base-package="dao,service,action"></context:component-scan>

 <!--Spring中bean获取的工具类 <bean id="springContextUtils" class="com.BeanFactoryUtil"   /> -->

 

 <!-- 使用Annotation自动注册Bean,解决事务失效问题:在主容器中不扫描@Controller注解,在SpringMvc中只扫描@Controller注解。 -->  <!--<context:component-scan base-package="/"> base-package 如果多个,用“,”分隔 -->  <!-- <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"   /> </context:component-scan> -->

 <!-- 配置初始化TreeMap <bean id="treeMap" class="cn.cdjs.util.InitTreeMap"> <constructor-arg   ref="jdbcTemplate" index="0"></constructor-arg> </bean> -->

 <!--<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">   <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property>   </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">   <property name="sessionFactory" ref="sessionFactory" /> </bean> -->  <!-- webservice start <bean class="org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter">   <property name="baseAddress" value="http://localhost:7003/" /> </bean> -->  <!-- <bean id="skpservice" class="ws.WsSkp"> <property name="jt" ref="jdbcTemplate"></property>   </bean> -->  <!-- webservice end -->

</beans>

转载于:https://www.cnblogs.com/gaobo543013306/p/9848062.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Python中查找子字符串索引的5种方法

在Python中查找字符串中子字符串索引的5种方法 (5 Ways to Find the Index of a Substring in Strings in Python) str.find() str.find() str.rfind() str.rfind() str.index() str.index() str.rindex() str.rindex() re.search() re.search() str.find() (str.find()) …

[LeetCode] 3. Longest Substring Without Repeating Characters 题解

问题描述 输入一个字符串&#xff0c;找到其中最长的不重复子串 例1&#xff1a; 输入&#xff1a;"abcabcbb" 输出&#xff1a;3 解释&#xff1a;最长非重复子串为"abc" 复制代码例2&#xff1a; 输入&#xff1a;"bbbbb" 输出&#xff1a;1 解…

WPF中MVVM模式的 Event 处理

WPF的有些UI元素有Command属性可以直接实现绑定&#xff0c;如Button 但是很多Event的触发如何绑定到ViewModel中的Command呢&#xff1f; 答案就是使用EventTrigger可以实现。 继续上一篇对Slider的研究&#xff0c;在View中修改Interaction. <i:Interaction.Triggers>&…

Eclipse 插件开发 向导

阅读目录 最近由于特殊需要&#xff0c;开始学习插件开发。   下面就直接弄一个简单的插件吧!   1 新建一个插件工程   2 创建自己的插件名字&#xff0c;这个名字最好特殊一点&#xff0c;一遍融合到eclipse的时候&#xff0c;不会发生冲突。   3 下一步&#xff0c;进…

线性回归 假设_线性回归的假设

线性回归 假设Linear Regression is the bicycle of regression models. It’s simple yet incredibly useful. It can be used in a variety of domains. It has a nice closed formed solution, which makes model training a super-fast non-iterative process.线性回归是回…

ES6模块与commonJS模块的差异

参考&#xff1a; 前端模块化 ES6 在语言标准的层面上&#xff0c;实现了模块功能&#xff0c;而且实现得相当简单&#xff0c;旨在成为浏览器和服务器通用的模块解决方案。 其模块功能主要由两个命令构成&#xff1a;export和import。export命令用于规定模块的对外接口&#x…

solo

solo - 必应词典 美[soʊloʊ]英[səʊləʊ]n.【乐】独奏(曲)&#xff1b;独唱(曲)&#xff1b;单人舞&#xff1b;单独表演adj.独唱[奏]的&#xff1b;单独的&#xff1b;单人的v.独奏&#xff1b;放单飞adv.独网络梭罗&#xff1b;独奏曲&#xff1b;索罗变形复数&#xff1…

Eclipse 简介和插件开发天气预报

Eclipse 简介和插件开发 Eclipse 是一个很让人着迷的开发环境&#xff0c;它提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。目前网上流传相当丰富且全面的开发工具方面的插件&#xff0c;但是 Eclipse 已经超越了开发环境的概念&#xff0c;可以…

趣味数据故事_坏数据的好故事

趣味数据故事Meet Julia. She’s a data engineer. Julia is responsible for ensuring that your data warehouses and lakes don’t turn into data swamps, and that, generally speaking, your data pipelines are in good working order.中号 EETJulia。 她是一名数据工程…

Linux 4.1内核热补丁成功实践

最开始公司运维同学反馈&#xff0c;个别宿主机上存在进程CPU峰值使用率异常的现象。而数万台机器中只出现了几例&#xff0c;也就是说万分之几的概率。监控产生的些小误差&#xff0c;不会造成宕机等严重后果&#xff0c;很容易就此被忽略了。但我们考虑到这个异常转瞬即逝、并…

python分句_Python循环中的分句,继续和其他子句

python分句Python中的循环 (Loops in Python) for loop for循环 while loop while循环 Let’s learn how to use control statements like break, continue, and else clauses in the for loop and the while loop.让我们学习如何在for循环和while循环中使用诸如break &#xf…

eclipse plugin 菜单

简介&#xff1a; 菜单是各种软件及开发平台会提供的必备功能&#xff0c;Eclipse 也不例外&#xff0c;提供了丰富的菜单&#xff0c;包括主菜单&#xff08;Main Menu&#xff09;&#xff0c;视图 / 编辑器菜单&#xff08;ViewPart/Editor Menu&#xff09;和上下文菜单&am…

[翻译 EF Core in Action 2.0] 查询数据库

Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core 书籍。原版地址. 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。因为没有中文版,所以本人对其进行翻译。 预计每两天…

hdu5692 Snacks dfs序+线段树

题目传送门 题目大意&#xff1a;给出一颗树&#xff0c;根节点是0&#xff0c;有两种操作&#xff0c;一是修改某个节点的value&#xff0c;二是查询&#xff0c;从根节点出发&#xff0c;经过 x 节点的路径的最大值。 思路&#xff1a;用树状数组写发现还是有些麻烦&#xff…

python数据建模数据集_Python中的数据集

python数据建模数据集There are useful Python packages that allow loading publicly available datasets with just a few lines of code. In this post, we will look at 5 packages that give instant access to a range of datasets. For each package, we will look at h…

打开editor的接口讨论

【打开editor的接口讨论】 先来看一下workbench吧&#xff0c;workbench从静态划分应该大致如下&#xff1a; 从结构图我们大致就可以猜测出来&#xff0c;workbench page作为一个IWorkbenchPart&#xff08;无论是eidtor part还是view part&#…

【三角函数】已知直角三角形的斜边长度和一个锐角角度,求另外两条直角边的长度...

如图,已知直角三角形ABC中,∠C90, ∠Aa ,ABc ,求直角边AC、BC的长度. ∵ ∠C90,∠Aa ,ABc ,Cos∠AAC/AB ,Sin∠ABC/AB ,∴ ACAB*Cos∠Ac*Cosa ,BCAB*Sin∠Ac*Sina . 复制代码

网络攻防技术实验五

2018-10-23 实验五 学 号201521450005 中国人民公安大学 Chinese people’ public security university 网络对抗技术 实验报告 实验五 综合渗透 学生姓名 陈军 年级 2015 区队 五 指导教师 高见 信息技术与网络安全学院 2018年10月23日 实验任务总纲 2018—2019 …

usgs地震记录如何下载_用大叶草绘制USGS地震数据

usgs地震记录如何下载One of the many services provided by the US Geological Survey (USGS) is the monitoring and tracking of seismological events worldwide. I recently stumbled upon their earthquake datasets provided at the website below.美国地质调查局(USGS)…

Springboot 项目中 xml文件读取yml 配置文件

2019独角兽企业重金招聘Python工程师标准>>> 在xml文件中读取yml文件即可&#xff0c;代码如下&#xff1a; 现在spring-boot提倡零配置&#xff0c;但是的如果要集成老的spring的项目&#xff0c;涉及到的bean的配置。 <bean id"yamlProperties" clas…