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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: applicationContext.xml的配置文件模板 1 2 13 14 15 16 18 19 com.

applicationContext.xml的配置文件模板

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <beans
  3     xmlns="http://www.springframework.org/schema/beans"
  4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5     xmlns:aop="http://www.springframework.org/schema/aop"  
  6     xmlns:p="http://www.springframework.org/schema/p"
  7     xmlns:tx="http://www.springframework.org/schema/tx" 
  8     xmlns:context="http://www.springframework.org/schema/context" 
  9     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
 10         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd     
 11         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd     
 12         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
 13     
 14 
 15         <!-- 数据源配置 -->
 16     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
 17         destroy-method="close">
 18         <property name="driverClass">
 19             <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
 20         </property>
 21         <property name="jdbcUrl">
 22             <value>jdbc:sqlserver://192.168.2.80\SQL2005;databaseName=ledger</value>
 23         </property>
 24         <!-- 默认初始化获取3个连接  -->
 25         <!-- 空闲连接检查时间 -->
 26         <property name="idleConnectionTestPeriod">
 27             <value>18000</value>
 28         </property>
 29         <!-- 最大空闲连接时间 3小时 -->
 30         <property name="maxIdleTime">
 31             <value>25000</value>
 32         </property>
 33         <!-- 检查获取的连接是否有效 -->
 34         <property name="testConnectionOnCheckin">
 35             <value>true</value>
 36         </property>
 37         <property name="testConnectionOnCheckout">
 38             <value>true</value>
 39         </property>
 40         <!-- 测试语句 -->
 41         <property name="preferredTestQuery">
 42             <value>select 1</value>
 43         </property>
 44         <property name="properties">
 45             <props>
 46                 <prop key="user">sa</prop>
 47                 <prop key="password">123456</prop>
 48                 <prop key="c3p0.acquire_increment">5</prop>
 49                 <prop key="c3p0.idle_test_period">18000</prop>
 50 
 51                 <!--  连接空闲超时时间  -->
 52                 <prop key="c3p0.timeout">20000</prop>
 53                 <prop key="c3p0.max_size">40</prop>
 54                 <prop key="c3p0.max_statements">100</prop>
 55                 <prop key="c3p0.min_size">10</prop>
 56             </props>
 57         </property>
 58     </bean>
 59     <!-- session工厂(包含数据库的连接信息,实体类和表的映射文件) -->
 60     <bean id="sessionFactory"
 61         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
 62         <property name="dataSource">
 63             <ref bean="dataSource" />
 64         </property>
 65         <property name="hibernateProperties">
 66             <props>
 67                 <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop><!--hibernate的数据库方言 本示例:sqlserver数据库 -->
 68                 <prop key="hibernate.show_sql">true</prop><!-- 显示sql语句 -->
 69                 <prop key="hibernate.format_sql">true</prop><!-- 格式化控制台显示sql语句 -->
 70                  <prop key="hibernate.hbm2ddl.auto">update</prop><!-- 如果映射文件在数据库中无表,自动生成表 -->
 71             </props>
 72         </property>
 73         
 74         <!-- 导入hibernate的映射文件 实体类.hbm.xml文件 -->
 75         <property name="mappingDirectoryLocations">
 76             <list>
 77                 <value>classpath:/org/ledger/entity</value>
 78             </list>
 79         </property>
 80 
 81     </bean>
 82     <!--spring的事务 -->
 83     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">     
 84         <property name="sessionFactory">
 85             <ref bean="sessionFactory" />
 86         </property>    
 87     </bean>     
 88     
 89     <!-- 事务的配置。类似于切点。 -->
 90     <tx:advice id="txadvice" transaction-manager="transactionManager">     
 91         <tx:attributes>   
 92                <tx:method name="saveSysLog" propagation="REQUIRES_NEW" /><!--requires_new:新建事务,如果当前存在事务,把当前事务挂起 -->    
 93             <tx:method name="get*" propagation="REQUIRED"   read-only="true"/><!--required:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中 -->    
 94             <tx:method name="find*" propagation="REQUIRED"  read-only="true"/>
 95             <tx:method name="query*" propagation="REQUIRED" read-only="true"/>        
 96             <tx:method name="*" propagation="REQUIRED" />  
 97         </tx:attributes>     
 98     </tx:advice>      
 99     
100      <!-- 配置日志的增强类(说白了,所有请求的连接点都要先到该类中的方法跑一下。)-->
101     <bean id="logAspect" class="org.ledger.interceptor.LogAspect" autowire="byType"></bean>
102     
103     <!-- aop:config节点中可以定义多个切面 -->
104     <aop:config proxy-target-class="true"> <!-- 该值为true,表示用spring的cglib动态代理技术代理切面,为false时表明以jdk的动态代理技术代理切面 --> 
105         <!-- 配置事务的切点 -->   
106         <aop:pointcut id="serviceMethods" expression="execution(* org.ledger.service.*Service.*(..))"/> <!-- 定义一个切点 -->    
107       
108       
109         <!-- <aop:advisor>”则定义了在哪些连接点应用什么 -->
110         <!-- 此节点时配置切点加上事务管理 (spring自身的事务管理类,给所有的业务类加上事务,面向切面的)-->
111         <!-- advisor 是spring aop中的一个概念。
112              advisor 可以翻译为增强器, 他是切入点(pointcut)和advice 的适配器。 它有两部门组成:一个增强以及一个说明在何处增强的切入点。
113                              增强器完整的模块化了一个方面(因为一个方面,就是由在什么地方增强和怎么增强组成的) 。 增强和切入点可以复用。 -->
114         <aop:advisor advice-ref="txadvice" pointcut-ref="serviceMethods" /> <!-- 切点和增强的复合物,advice-ref引用的是增强,pointcut-ref引用的切点 -->
115        
116        
117         <!-- 配置日志 (程序员开发的)-->
118         <!-- “<aop:aspect>”实际上是定义横切逻辑,就是在连接点上做什么 -->
119         <aop:aspect ref="logAspect"><!-- 定义一个切面 ,ref引用的是增强方法所在的bean。本示例,表示该日志切面的操作方法都在logAspect所代表的java类中-->
120             <aop:pointcut expression="execution(* org.ledger.service.*Service.*(..))" id="logPointcut" /><!-- 定义日志的切点,动态代理接口 -->
121             <aop:after-returning method="saveLog" pointcut-ref="logPointcut" /><!-- 增强的方法+切点。意思是,执行完该切点后的连接点(方法),调用增强方法 -->
122             <aop:after-throwing method="saveLogHasThrowing" pointcut-ref="logPointcut" /><!-- 增强方法+切点。意思是,执行该切点的连接点(方法)抛出异常,调用增强方法 -->
123         </aop:aspect>        
124     </aop:config>  
125     
126     <!-- 给项目加入webservice的扫描器(应该是注解) -->
127     <context:component-scan base-package="org.ledger.webservice"></context:component-scan>
128     <!-- 导入action dao service 等的bean节点配置-->
129     <import resource="applicationContext-dao.xml"/>
130     <import resource="applicationContext-service.xml"/>
131     <import resource="applicationContext-webservice.xml"/>
132     <import resource="applicationContext-action.xml"/>
133     </beans>
View Code

 

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
2月前
|
Java 数据库连接 网络安全
SSH框架的核心原理与工作流程解析
以上描述了SSH框架中各个部分的职责和大致的工作流程,详细运作时还涉及更多的组件和配置细节,每个部分都有相应的最佳实践和性能调优策略,但这些都建立在理解其核心原理基础之上。
350 11
|
8月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2121 1
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
675 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
8月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
351 0
|
10月前
|
Java 测试技术 应用服务中间件
Spring Boot 配置文件总结
Spring Boot 提供全局配置文件 `application.properties` 和 `application.yml`,用于修改自动配置的默认值。前者使用键值对配置,后者使用缩进和冒号。不同环境(开发、测试、生产)可切换配置文件,通过 `spring.profiles.active` 指定。例如,开发环境端口为4790,测试环境为4791,生产环境为4792。配置示例展示了属性、List、Map定义及引用方法。
344 14
|
Java API Spring
在 Spring 配置文件中配置 Filter 的步骤
【10月更文挑战第21天】在 Spring 配置文件中配置 Filter 是实现请求过滤的重要手段。通过合理的配置,可以灵活地对请求进行处理,满足各种应用需求。还可以根据具体的项目要求和实际情况,进一步深入研究和优化 Filter 的配置,以提高应用的性能和安全性。
|
11月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
缓存 Java 数据库连接
Hibernate:Java持久层框架的高效应用
通过上述步骤,可以在Java项目中高效应用Hibernate框架,实现对关系数据库的透明持久化管理。Hibernate提供的强大功能和灵活配置,使得开发者能够专注于业务逻辑的实现,而不必过多关注底层数据库操作。
168 1
|
Java 数据库连接 数据库
让星星⭐月亮告诉你,SSH框架01、Spring概述
Spring是一个轻量级的Java开发框架,旨在简化企业级应用开发。它通过IoC(控制反转)和DI(依赖注入)降低组件间的耦合度,支持AOP(面向切面编程),简化事务管理和数据库操作,并能与多种第三方框架无缝集成,提供灵活的Web层支持,是开发高性能应用的理想选择。
151 1
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
1122 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件