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 |
个人整理,如有错误,欢迎各位留言告知,谢谢!