Spring 整合 hibernate 配置

1. spring 配置管理datasource 及 sessionFactory

1) 引入相关jdbc配置文件。

 <context:property-placeholder location="classpath:jdbc.properties" />    

2) 配置datasource

<bean />  

    <!--  ...  -->
    </bean>

3) 配置sessionFactory
    <bean >false</prop>

      <!--  ...  -->
            </props>
        </property>
        <!-- 配置映射的注解的实体类的包 -->
         <property name="packagesToScan">
            <list>
                <value>org.shenyundata.cn.model</value>
            </list>  
        </property>
    </bean>

4. 如果使用hibernateTemplate, 需要相关配置

<bean ></property>
    </bean>

5. 事务管理器 相关配置

    <bean ></property>
    </bean>

6. 事务管理器的切面逻辑配置

<tx:advice />
    </aop:config>

 

注意事项

1.spring 负责 管理service 及dao 的生成。

2.action的生成 由struts2 spring 的plugin生成,不受spring 的管理。

3. OpenSessionInviewFilter 注意事项:

1).  必须配置在struts2 filter前面。

2).  Filter 需要 sessionfactory bean,如果需要改名 需要在filter配置信息中加入  param-name: sessionfactorybeanname param-value

3).  如果不配置 transaction,会出异常  InvaliddataaccessapiUsageException write operations are not allowed **** readonly, 所以记得配置好事务管理器

 

7. 相关annotation 配置

<context:annotation-config />
    <!-- scanning package -->
<context:component-scan base-package="com.****" />

8.如果需要使用aspectj语法,定义切面类逻辑,需要下面的配置

<aop:aspectj-autoproxy />  AOP annotation语法支持 ,不太重要

AOP xml配置 (重要)  见第6点。     

附相关jar包:

数据库包及 日志的jar包会根据各公司的情况 略有不同。

Struts.2.1.6                    Spring 2.5.6   hibernate3.3.2           整合

Antlr-2.7.6.jar

AspectJ.jar

Aspectjweaver.jar

Cglib-nodep-2.1.3.jar

Common-annotations.jar

Commons-collections-3.1.jar

Commons-fileupload-1.2.1.jar

Commons-io-1.3.2.jar

Commons-logging-1.1.1.jar

Dom4j-1.6.1.jar

Ejb3-persistence.jar

Freeemarker-2.3.13.jar

Hibernate3.jar

Hibernate-annotations.jar

Hibernate-common-annotations.jar

Javaassist-3.9.0.GA.jar

Jta-1.1.jar

Junit4.5.jar

Mysql 驱动包

Ognl-2.6.11.jar

Slf4j-api-1.5.8.jar

Slf4j-nop-1.5.8.jar

Spring.jar

Struts2-core-2.1.6.jar

Xwork-2.1.2.jar

Commons-dbcp.jar

Commons-pool.jar

Struts-spring-plugin2.1.6.jar

 

个人整理,如有错误,欢迎各位留言告知,谢谢!

相关文章: