`
jzkangta
  • 浏览: 157209 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring2.5整合JPA(转)

阅读更多
一直都在使用自己写的Spring2.0+JPA的开发基础框架,最近研究了一下Spring2.5,确实发现该升级一下自己的基础框架了,这里给Spring2.5整合JAP的心得贴上来,和大家共享,也算是一个笔记!

    Spring是个好东西,但是他是基于很多不同的jar来写的,对依赖包的版本要求很高,不兼容老版本的,所以使用哪一个版本的Spring,需要使用它对应的lib文件夹下的依赖包,这估计也是很多人使用Spring整合框架的失败支持!

   Spring2.5整合JPA按照以下步骤来做,肯定不会出问题。

第一步 拷贝相关包,列表如下:

这些包最好从Spring2.5源码下的lib文件夹中来找,避免版本冲突出现的某明其妙的问题!

第二步:配置web.xml文件,代码如下:
   1. <?xml version="1.0" encoding="UTF-8"?>  
   2. <web-app id="WebApp_ID" version="2.4"  
   3.     xmlns="http://java.sun.com/xml/ns/j2ee"  
   4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
   5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
   6.     <welcome-file-list>  
   7.         <welcome-file>index.html</welcome-file>  
   8.     </welcome-file-list>  
   9.     <servlet>  
  10.         <servlet-name>dispatcherServlet</servlet-name>  
  11.         <servlet-class>  
  12.             org.springframework.web.servlet.DispatcherServlet  
  13.         </servlet-class>  
  14.         <init-param>  
  15.             <param-name>contextConfigLocation</param-name>  
  16.             <param-value>/WEB-INF/mvc-config.xml</param-value>  
  17.         </init-param>  
  18.         <load-on-startup>1</load-on-startup>  
  19.     </servlet>  
  20.     <servlet-mapping>  
  21.         <servlet-name>dispatcherServlet</servlet-name>  
  22.         <url-pattern>*.jhtml</url-pattern>  
  23.     </servlet-mapping>  
  24. </web-app>  


在web.xml中使用contextConfigLocation来完成其他配置文件的导入。

第三步:配置ApplicationContext.xml,这个文件是Spring整合JPA最重要的文件,这里配置不当也会导致很多问题的,配置如下:
   1. <?xml version="1.0" encoding="UTF-8"?>  
   2. <beans xmlns="http://www.springframework.org/schema/beans"  
   3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
   4.     xmlns:context="http://www.springframework.org/schema/context"  
   5.     xmlns:aop="http://www.springframework.org/schema/aop"  
   6.     xmlns:tx="http://www.springframework.org/schema/tx"  
   7.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
   8.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd  
   9.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd  
  10.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">  
  11.     <!-- 启用支持Annotation注解方式的Bean管理 -->  
  12.     <context:component-scan base-package="com.javatakler"></context:component-scan>  
  13.     <!-- property-placeholder是一个属性遍历器,定位一个属性文件,属性文件存放的是jdbc一些连接数据 -->  
  14.     <context:property-placeholder location="classpath:jdbc.properties" />  
  15.     <!-- 配置数据源 -->  
  16.     <bean id="dataSource"  
  17.         class="org.apache.commons.dbcp.BasicDataSource"  
  18.         destroy-method="close">  
  19.         <property name="driverClassName"  
  20.             value="${driverClassName}"  />  
  21.         <property name="url" value="${url}" />  
  22.         <property name="username" value="${username}" />  
  23.         <property name="password" value="${password}" />  
  24.         <property name="initialSize" value="${initialSize}" />  
  25.         <property name="maxActive" value="${maxActive}" />  
  26.         <property name="maxIdle" value="${maxIdle}" />  
  27.         <property name="minIdle" value="${minIdle}" />  
  28.     </bean>  
  29.       
  30.     <bean name="entityManagerFactory"  
  31.         class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">  
  32.         <!-- <property name="allowRedeploymentWithSameName" value="true" /> -->  
  33.         <property name="persistenceXmlLocation"  
  34.             value="classpath:persistence.xml" />  
  35.         <property name="dataSource" ref="dataSource" />  
  36.         <property name="jpaVendorAdapter">  
  37.             <bean  
  38.                 class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">  
  39.                 <property name="database" value="MYSQL" />  
  40.                 <property name="showSql" value="false" />  
  41.                 <property name="generateDdl" value="false" />  
  42.             </bean>  
  43.         </property>  
  44.     </bean>  
  45.     <!-- JPA事务管理器 -->   
  46.     <bean id="transactionManager"  
  47.         class="org.springframework.orm.jpa.JpaTransactionManager">  
  48.         <property name="entityManagerFactory"  
  49.             ref="entityManagerFactory" />  
  50.         <property name="dataSource" ref="dataSource" />  
  51.     </bean>  
  52.     <!-- 启用支持Annotation注解方式的事务管理 -->  
  53.     <tx:annotation-driven transaction-manager="transactionManager" />  
  54. </beans>  


Spring2.5以前entityManagerFactory中有个allowRedeploymentWithSameName属性,该属性用来防止连接池中出现重名的现象,在Spring2.5中好像已经不存在这种问题的发生了,这里也不能配置了,已经没有该属性了!

最后一步就是配置persistence.xml文件了,这里文件默认是在META-INF文件夹下,实际上不一定这么做,使用persistenceXmlLocation来指定对应的位置就可以了,不过最好在classpath下!代码如下:
   1. <persistence xmlns="http://java.sun.com/xml/ns/persistence"  
   2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
   3.     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence  
   4.           http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"  
   5.     version="1.0">  
   6.     <persistence-unit name="template"  
   7.         transaction-type="RESOURCE_LOCAL">  
   8.         <provider>org.hibernate.ejb.HibernatePersistence</provider>  
   9.         <properties>  
  10.             <property name="hibernate.show_sql" value="false" />  
  11.             <property name="hibernate.hbm2ddl.auto" value="update" />  
  12.         </properties>  
  13.         </persistence-unit>  
  14. </persistence>  
分享到:
评论

相关推荐

    Spring2.5整合JPA

    Spring2.5整合JPA实例 博文链接:https://zmx.iteye.com/blog/556452

    Spring2.5整合JPA(Hibernate实现)所需的JAR包

    Spring2.5整合JPA(Hibernate实现)所需的JAR包

    Struts2,spring2.5与jpa的整合示例

    Struts2,spring2.5与jpa的整合,包括精确到领域对象的权限管理

    struts2.0+spring2.5+JPA整合框架

    struts2.0+spring2.5+JPA整合框架,下载完成后导入eclipse,由于lib下jar较多,请自行导入相关jar包并修改数据库连接文件jdbc.properties。

    Struts1.3+spring2.5+JPA(hibernate) demo

    Struts1.3+spring2.5+JPA(hibernate) 实现的一个小示例,比较适合初学者和整合配置查询。

    jsf+spring2.5+jpa(hibernate)的jar包

    这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。

    struts2+spring2.5+jpa 注解开发框架

    spring注解(去掉了在XML文件中bean的配置) jpa注解(去掉了*.hbm.xml)文件的配置 该项目完全可以运行,包含了所有的JAR包,数据库默认使用ORACLE,MYSQL(需要改下jdbc.property配置文件,修改很方便) 该包绝对适用,...

    struts2.1.8+JPA3.0(hibernate实现)+spring2.5整合jar

    整合jar文件,直接下载后放到工程lib下面。这是我整理给我的中型BBS项目用的。

    spring2.5学习PPT 传智博客

    spring2.5学习PPT 传智博客 01_全面阐释Spring及其各项功能 02_搭建与测试Spring的开发环境 03_编码剖析Spring管理Bean的原理 04_Spring的三种实例化Bean的方式 05_配置Spring管理的bean的作用域 06_Spring...

    Struts2+Spring2.5+Hibernate3.3整合开发之Sring与Hibernate整合

    一、整合开发时Hibernate、Spring需要的JAR文件。 hibernate核心安装包下的(下载路径:http://www.hibernate.org/,点击“Hibernate Core”右边的“Downloads”): hibernate3.jar lib\bycode\cglib\hibernate-...

    struts1+spring+JPA+jstl的CRUD操作,包含分页

    使用struts1.2.7和spring2.5以及JPA(hibernate3.2)整合,加上jstl标签库的使用,做成的一个带有分页功能的模块,包含最基本的CRUD操作,绝对物有所值!!

    Struts2.1+Spring3.0+JPA1.0(Hibernate3.3实现)例子

    Struts2.1+Spring3.0+JPA1.0(Hibernate3.3实现)例子 文章分类:Java编程 本文代码是Spring2.5各种示例的综合,在此把所有框架升级到最新版本整合一下。

    spring mvc + hibernate4整合文档

    Spring2.5+Struts2+Hibernate3的整合跟Spring2.5+Struts2+Jpa的整合过程。

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.6.1. 在Spring环境中建立JPA 12.6.1.1. LocalEntityManagerFactoryBean 12.6.1.2. LocalContainerEntityManagerFactoryBean 12.6.1.3. 处理多个持久化单元 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于...

    springboot知识点整理

    6.4 整合SpringData JPA 125 6.4.1 SpringData简介 125 6.4.2 整合 126 7 Spring Boot启动配置原理 128 7.1 启动流程(Springboot 1.50版本) 128 7.1.1 创建SpringApplication对象 129 7.1.2 运行run方法 130 7.1.3...

    Spring中文帮助文档

    2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)容器 3.1. 简介 3.2. 基本原理 - 容器和bean 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean ...

    Spring API

    2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件...

    Spring 2.0 开发参考手册

    12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.6.5. 事务管理 12.6.6. JpaDialect III. Web 13. Web框架 13.1. 介绍 13.1.1. 与...

Global site tag (gtag.js) - Google Analytics