`
jzkangta
  • 浏览: 160544 次
  • 性别: 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

    Spring 2.5整合JPA使得开发者能够在享受Spring框架带来的便利的同时,充分利用JPA的ORM能力。这种整合不仅简化了数据库访问,还提高了代码的可维护性和测试性。随着Spring和JPA的不断更新,现在的整合方式可能与...

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

    在Java开发领域,Spring框架和Java Persistence API (JPA) 是两种非常重要的技术。...通过以上步骤,你可以实现Spring 2.5与JPA的整合,利用Hibernate作为持久层的实现,从而简化数据库访问并提高代码的可维护性。

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

    **Spring2.5整合JPA** Spring2.5提供了对JPA的全面支持,包括实体管理、事务管理、查询服务等。在Spring的配置文件(如applicationContext.xml)中,需要定义EntityManagerFactory和DataSource,配置JPA供应商(如...

    Spring2.5集成JPA

    《Spring2.5集成JPA深度解析》 在Java企业级开发中,Spring框架与Java Persistence API(JPA)的整合已经成为主流的持久层解决方案。本文将深入探讨Spring 2.5版本如何与JPA进行集成,以及在实际项目中的应用和配置...

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

    Struts2.0、Spring2.5和JPA(Java Persistence API)是Java开发中常见的三大框架,它们各自承担着不同的职责,共同构建了一个高效、灵活的企业级应用开发环境。Struts2作为MVC(Model-View-Controller)框架,负责...

    Spring2.5_JPA_Transaction_Demo

    本示例"Spring2.5_JPA_Transaction_Demo"专注于演示如何在Spring 2.5版本中结合JPA进行事务管理,这对于理解Spring和JPA的整合以及事务处理机制至关重要。 1. **Spring 2.5**:这是一个里程碑式的版本,引入了许多...

    spring2.5 + jpa(hibernate3) 实例源码

    【标题】"spring2.5 + jpa(hibernate3) 实例源码"涉及的核心技术是Spring 2.5框架与Java Persistence API (JPA)的整合,其中JPA的具体实现是Hibernate 3。这个实例提供了如何在Spring环境中配置和使用JPA进行数据库...

    Spring2.5 + JPA(Hibernate)实现

    标题 "Spring2.5 + JPA(Hibernate)实现" 涉及到的是在Java开发环境中,使用Spring框架的2.5版本与Java Persistence API (JPA) 的一种集成方式,其中Hibernate作为JPA的提供商。这篇博文可能是指导开发者如何在项目中...

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

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

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

    这个"Struts1.3+spring2.5+JPA(hibernate) demo"提供了一个实践性的学习案例,帮助初学者理解和掌握这些技术的整合与应用。 **Struts1.3** 是一个经典的MVC(Model-View-Controller)框架,用于处理HTTP请求和控制...

    Struts2 + Spring2.5 + JPA(hibernate) + AJAX+ 实例

    Struts2、Spring2.5、JPA(Hibernate)以及AJAX是构建高效、模块化且可维护的企业级Web应用程序的常用技术栈。这个实例项目整合了这些技术,旨在提供一个全面的开发环境,帮助开发者理解和掌握它们的协同工作方式。 ...

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

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

    spring2.5中文文档

    10. **Spring与其他框架的整合**:Spring 2.5增强了与其他框架的集成,如MyBatis、Quartz、EJB等,使得开发者可以更方便地将Spring与其他技术结合使用。 总的来说,Spring 2.5中文文档为中文使用者提供了全面的指南...

    spring 2.5框架图

    5. **ORM包**:Spring的ORM模块整合了多种持久层框架,如Hibernate、JPA、JDBC等,提供了一致的编程模型和事务管理。Spring 2.5在ORM方面的改进包括对JPA 2.0的支持和更灵活的事务策略。 6. **UML框架图**:提供的...

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

    Struts2.1.8、JPA3.0(Hibernate实现)和Spring2.5是三个重要的Java开发框架,它们的整合为构建大型企业级应用提供了强大的支持。在这个压缩包中,包含了这些框架的核心库和其他相关依赖,方便开发者快速集成到自己...

    xfire1.2.6+spring2.5整合

    本项目"xfire1.2.6+spring2.5整合"是将XFire 1.2.6与Spring 2.5这两个开源框架进行融合,以实现更高效的服务导向架构。下面将详细解释这两个框架以及它们整合的意义和方法。 XFire是一个基于Java的Web服务框架,它...

    Spring2.5+Hibernate3.2开发手册

    - **Spring2.5中文开发参考手册.chm**:这份文档会详细介绍Spring 2.5 的核心概念、配置、API使用以及如何在实际项目中应用Spring框架。 - **Hibernate_3.2.0_api.chm**:这份文档是Hibernate 3.2.0 的API参考,包含...

    Spring2.5

    通过阅读《spring2.5+学习笔记.doc》和《黎活明__spring教程.ppt》以及《黎活明_struts2教程.ppt》,你可以更深入地了解Spring 2.5与Struts2的整合,以及在实际项目中如何有效地利用这些知识。尽管Spring框架已经...

Global site tag (gtag.js) - Google Analytics