Spring整合Hibernate的多种数据源配置
来源:互联网 发布:python程序开发指南 编辑:程序博客网 时间:2024/05/14 11:24
1。属性占位符配置器:可以将相关属性抽取出来放入配置文件(比如数据库的连接信息),然后用占位符的方式读取出来,方便文件的分类管理
<?xml version="1.0" encoding="GBK"?>
<!-- Spring配置文件的根元素,使用spring-beans-3.0.xsd语义约束 -->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- PropertyPlaceholderConfigurer是一个Bean后处理器,它会读取
属性文件信息,并将这些信息设置成Spring配置文件的元数据。 -->
<bean class=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>dbconn.properties</value>
<!--如果有多个属性文件,依次在下面列出来-->
<!--value>wawa.properties</value-->
</list>
</property>
</bean>
<!-- 定义数据源Bean,使用C3P0数据源实现 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClass" value="${jdbc.driverClassName}"/>
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="${jdbc.url}"/>
<!-- 指定连接数据库的用户名 -->
<property name="user" value="${jdbc.username}"/>
<!-- 指定连接数据库的密码 -->
<property name="password" value="${jdbc.password}"/>
</bean>
</beans>
2.重写占位符配置器:这种方式可以允许xml文件中有默认配置,相当于使用属性文件+XML文件总和,但是需要注意的是配置文件的key的格式必须为:beanName.property,即,bean的名字.属性的名字
<?xml version="1.0" encoding="GBK"?>
<!-- Spring配置文件的根元素,使用spring-beans-3.0.xsd语义约束 -->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- PropertyOverrideConfigurer是一个Bean后处理器,它会读取
属性文件信息,并用这些信息设置覆盖Spring配置文件的元数据-->
<bean class=
"org.springframework.beans.factory.config.PropertyOverrideConfigurer">
<property name="locations">
<list>
<value>dbconn.properties</value>
<!--如果有多个属性文件,依次在下面列出来-->
</list>
</property>
</bean>
<!-- 定义数据源Bean,使用C3P0数据源实现,
配置该Bean时没有指定任何信息,但Properties文件里的
信息将会直接覆盖该Bean的属性值-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close"/>
</beans>
以上两种配置如果导入了context的Schema,则可以使用<context:property-override location="属性文件路径(列如:classpath:XXX.properties)"/>或则<context:property-placeholder location="属性文件路径(列如:classpath:XXX.properties)"/>代替这两个容器后处理器Bean的配置。
3.如果习惯了使用hibernate的配置风格,可以使用<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" p:configLocation="classpath:hibernate.cfg.xml"/>,配置多个文件则使用configLocations属性即可。
4.使用Spring的配置风格,<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" p:dataSource-ref="数据源的Bean名"/>,
<!-- 依赖注入数据源,注入正是上面定义的dataSource -->
<property name="dataSource" ref="dataSource"/>
<!-- mappingResouces属性用来列出全部映射文件 -->
<property name="mappingResources">
<list>
<!-- 以下用来列出Hibernate映射文件 -->
<value>映射文件全路径名</value>
</list>
</property>
<!-- 定义Hibernate的SessionFactory的属性 -->
<property name="hibernateProperties">
<!-- 配置Hibernate属性 -->
<value>
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=true;
</value>
</property>
- Spring整合Hibernate的多种数据源配置
- Spring集成Hibernate多种数据源配置
- Spring 整合 hibernate的 applicationContext.xml 数据源配置
- Spring与Hibernate整合中的数据源配置
- Spring 整合Hibernate的配置
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之二: Spring/proxool数据源/Hibernate的配置
- JPA整合Spring配置数据源
- spring整合hibernate的时候数据源配置了,hiberate 能够连接数据,但是spring却包找不到驱动啊
- Spring+Hibernate如何配置数据源(Struts Spring Hibernate (SSH) 整合实例)
- spring + hibernate动态数据源配置
- spring + hibernate动态数据源配置
- Spring数据源配置之Hibernate
- Spring+Hibernate 整合配置
- Spring+Hibernate整合配置
- Spring+Hibernate整合配置
- Spring+Hibernate整合配置
- Spring整合hibernate配置
- spring.xml与hibernate数据源 整合
- joda-time实现Timehelper
- [歌词创作] 一首歌的结构
- maven编译hadoop(2.6.2)源码(一)
- Spring mvc中@RequestMapping 6个基本用法小结
- maven mvn跳过生成javadoc
- Spring整合Hibernate的多种数据源配置
- Java中二元运算符被简化后带来的变化
- 命令启用.net3.5
- Git详解之一 Git起步
- java 访问权限使用总结
- 黑马程序员--java笔记14--正则表达式
- iOS.swift protocol使用时碰到的小问题
- 1069. The Black Hole of Numbers (20)
- c/c++中的strcpy问题