您的位置:首页 > 编程语言 > Java开发

Hibernate+Spring配置的几个小技巧

2007-07-06 22:28 337 查看
1、引入properties文件,定义变量
在Spring配置文件中可以引入一个或者多个properties文件来定义变量
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
<!--
<list>
<value>classpath:jdbc.properties</value>
<value>classpath:jdbc-sqlserver.properties</value>
</list>
-->
</property>
</bean>
应用一个properties文件,直接用<value></value>就可以了,引用多个可采用<list></list>的方式。classpath:指定的是编译目标路径,在Web应用中指定的是WEB-INF/classes目录。
jdbc.properties文件内容:

mysql.driver=org.gjt.mm.mysql.Driver
mysql.url=jdbc:mysql://localhost:3306/hibernate
mysql.username=root
mysql.password=mysql

则我们在定义dataSource时可引用这些变量,如下所示:

<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${mysql.driver}</value>
</property>
<property name="url">
<value>${mysql.url}</value>
</property>
<property name="username">
<value>${mysql.username}</value>
</property>
<property name="password">
<value>${mysql.password}</value>
</property>
</bean>

2、定义LocalSessionFactoryBean时不使用hibernate.cfg.xml,直接定义
使用hibernate.cfg.xml时如下:

<bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>

不使用hibernate.cfg.xml时如下:

<!-- dataSource -->
<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/hibernate</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysql</value>
</property>
</bean>

<!-- Hibernate SessionFactory Definition -->
<bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource">
<ref bean="mysqlDataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>User.hbm.xml</value>
</list>
</property>
</bean>

建议使用第一种方式,这样Hibernate的配置信息单独放置在hibernate.cfg.xml中,提高了bean.xml的可读性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: