Spring和hibernate已成为目前开发的最常用框架,所以开发人员常常需要去配置他们,通过配置把他们整合在一起。这用配置时常很麻烦,特别对于新手而言,就算是老手也需要查资料或者参照以往项目的资料。这些配制涉及的方面较多包括:数据源,事务,Hibernate
以及J2EE容器的资源等等。为了方便大家,下面我给出了一份常用的配置模版,可以适用于部署在J2EE容器内或容器外(注意其中的注释部分)。
<?
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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation
=
"
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">
<!-- <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>hibernate.properties</value>
</list>
</property>
</bean> -->
<!-- DAO Configuration -->
<
bean
id
=
"managedGroupDAO"
class
=
"com.topsec.tsm.framework.ManagedGroupDAOOraImp"
>
<
property
name
=
"sessionFactory"
ref
=
"sessionFactory"
></
property
>
</
bean
>
<
bean
id
=
"dashBoardDAO"
class
=
"com.topsec.tsm.sim.dashboard.ad.DashBoardDAOOraImp"
>
<
property
name
=
"sessionFactory"
ref
=
"sessionFactory"
></
property
>
</
bean
>
<!-- Facade Configuration -->
<bean id="com.topsec.tsm.framework.ManagedGroupFacade" class="com.topsec.tsm.framework.ManagedGroupFacadeImp">
<property name="dao" ref="managedGroupDAO"></property>
</bean>
<bean id="com.topsec.tsm.sim.dashboard.ad.DashBoardFacade" class="com.topsec.tsm.sim.dashboard.ad.DashBoardFacadeImp">
<property name="dao" ref="dashBoardDAO"></property>
</bean
>
<!-- the transaction configuration -->
<tx:advice id="txAdvice" transaction-manager="txManager">
<!-- the transactional semantics... -->
<tx:attributes>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!-- <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>-->
<bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManagerName" value="java:/TransactionManager" />
</bean>
<aop:config>
<aop:pointcut id="managedGroupOperation" expression="execution(* *..ManagedGroupFacadeImp.*(..))"/>
<aop:pointcut id="dashBoardOperation" expression="execution(* *..DashBoardFacadeImp.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="managedGroupOperation"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="dashBoardOperation"/>
</aop:config>
<!-- Data source configuration -->
<!-- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property name="url" value="jdbc:microsoft:sqlserver://192.168.97.93:1433;DatabaseName=dashboard"/>
<property name="username" value="sa"/>
<property name="password" value="talent"/>
</bean>-->
<jee:jndi-lookup id="dataSource" jndi-name="java:SIM_DS"
/>
<!-- hibernate configuration -->
<!-- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>
<value>mappings/DashBoard.hbm.xml</value>
<value>mappings/Instrument.hbm.xml</value>
<value>mappings/ManagedGroup.hbm.xml</value>
<value>mappings/Monitor.hbm.xml</value>
<value>mappings/Resource.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hbm2ddl.auto">${hbm2ddl.auto}</prop>
</props>
</property>
</bean> -->
<jee:jndi-lookup id="sessionFactory" jndi-name="java:/hibernate/SessionFactory" />
</
beans
>
注:红色标出的都是我不会配也不理解的地方