JPA JAVA Persistence API 持久化API 。
由于hibernate + spring + spring security 验证时 处理用户密码验证检索库无法进行依赖注入,所以选择JPA研究看看。
首先当然是准备活动了:
1、下载开发所需要的发布包。
1)spring-framework-3.1.2.RELEASE-with-docs.zip
下载地址:http://www.springsource.org/spring-framework
2)hibernate-release-4.1.6.Final.zip
下载地址:http://olex.openlogic.com/packages/hibernate
3)Spring Data JPA
Spring Data JPA
下载地址:http://www.springsource.org/spring-data/jpa
Spring Data Commons
下载地址:http://www.springsource.org/spring-data/commons
4)其他一些依赖包可以从 http://ebr.springsource.com/repository/app/library
http://ebr.springsource.com/repository/app/bundle
上查找下载
2、依赖包明细:
使用的是spring3.2.3
spring-data-jpa-1.3.4.RELEASE.jar
spring-data-commons-1.5.0.RELEASE.jar
ebr.springsource.com中可以找到:
com.springsource.antlr-2.7.7.jar
com.springsource.net.sf.cglib-2.2.0.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.aspectj.weaver-1.5.4.jar
其他包:
slf4j-api-1.6.4.jar
slf4j-log4j12-1.6.4.jar
mysql-connector-java
log4j-1.2.14.jar
commons-lang3-3.1.jar
hibernate 4.2.3 lib:
hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.6.Final.jar hibernate-entitymanager-4.1.6.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar javassist-3.15.0-GA.jar jboss-logging-3.1.0.GA.jar jboss-transaction-api_1.1_spec-1.0.0.Final.jar
javassist-3.12.0.GA.jar
dom4j-1.6.1.jar
antlr-2.7.7.jar
3、JPA配置文件persistence.xml
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="MYJPATEST" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <!--配置Hibernate方言 --> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <!--配置数据库驱动 --> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> <!--配置数据库用户名 --> <property name="hibernate.connection.username" value="root" /> <!--配置数据库密码 --> <property name="hibernate.connection.password" value="root" /> <!--配置数据库url --> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/spring_data_jpa?useUnicode=true&characterEncoding=UTF-8" /> <!--设置外连接抓取树的最大深度 --> <property name="hibernate.max_fetch_depth" value="3" /> <!--自动输出schema创建DDL语句 --> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="true" /> <property name="javax.persistence.validation.mode" value="none"/>
<!--增加cache -->
<property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider" /> <property name="hibernate.cache.use_query_cache" value="true" /> <property name="hibernate.cache.use_second_level_cache" value="true" /> <property name="hibernate.generate_statistics" value="true" /> <property name="hibernate.use_sql_comments" value="true" />
</properties>
</persistence-unit>
</persistence>
4、Spring配置文件applicationContext.xml
在 beans中 必须加入 default- default-lazy-init="true"
自动寻找资源对应根据name来确定,以及延迟加载是确定。
<?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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"
default- default-lazy-init="true" >
<context:annotation-config /> <context:component-scan base-package="com.test"/> <!-- 定义实体管理器工厂 --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="MYJPATEST"/> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <!-- 启用 annotation事务--> <tx:annotation-driven transaction-manager="transactionManager"/> <!-- 配置Spring Data JPA扫描目录--> <jpa:repositories base-package="com.test.repository"/> </beans>
5、web.xml 配置
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <!-- log4j配置 --> <context-param> <param-name>webAppRootKey</param-name> <param-value>springdatajpa.root</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- 编码过滤器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置spring监听器 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置缓存清除监听器,负责处理由 JavaBean Introspector 功能而引起的缓存泄露 --> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
6、日志配置
log4j.rootLogger=INFO,CONSOLE,FILE log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=INFO log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n #应用于文件 log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.File=${springdatajpa.root}/springdatajpa.log log4j.appender.FILE.Append=true log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
分享到:
相关推荐
【Spring Data JPA 入门实例】 Spring Data JPA 是 Spring 框架的一个模块,它简化了数据库访问层(DAO)的开发,通过提供自动化的 Repository 实现,使得开发者无需编写大量的 CRUD(创建、读取、更新、删除)代码...
Spring Data JPA 1.4.2版本的官方参考文档详细介绍了如何使用Spring Data JPA来简化数据持久化层的编码工作。 核心概念部分(Core concepts)涵盖了Spring Data JPA的基本概念,例如使用仓库(Repositories)、定义...
1. **什么是Spring Data JPA** Spring Data JPA是Spring框架的一部分,它为JPA提供了一种声明式的方法来处理数据访问层。通过使用Spring Data JPA,你可以避免编写大量的DAO(数据访问对象)和Repository代码,只需...
Spring Data JPA 是一个强大的框架,它简化了与Java Persistence API (JPA)的交互,提供了对数据库操作的便捷抽象。1.7.0.RELEASE 版本的文档由 Oliver Gierke、Thomas Darimont 和 Christoph Strobl 编写,并由 ...
总的来说,"Spring+Spring MVC+SpringData JPA整合完成增删改查,翻页实例"是一个全面展示Spring生态系统的示例项目,涵盖了Web应用开发的主要方面:请求处理、数据持久化和用户界面。通过这个实例,开发者可以学习...
Spring Data JPA是Spring框架的一部分,它简化了持久化数据的过程,使得与数据库交互变得更加容易。通过Spring Data JPA,开发者可以使用Java Persistence API (JPA) 和ORM(对象关系映射)工具如Hibernate,无需...
JPA 通过注解或 XML 配置来定义对象与数据库表之间的映射关系,实现了数据持久化。 Spring Data JPA 是 Spring Data 家族的一员,它的设计目标是进一步减少开发人员在数据访问层的工作量。通过 Spring Data JPA,...
Spring Data JPA 是 Spring 框架的一个模块,主要目的是为了简化数据库访问,并且提供一个统一的抽象层,让开发者能够方便地使用各种持久化技术,如 Hibernate、EclipseLink 等 JPA 实现。Spring Data JPA 提供了对 ...
Spring Data JPA是Spring框架的一个模块,它简化了Java Persistence API (JPA)的使用,提供了与各种数据...配合MySQL数据库,Spring Data JPA可以轻松地实现数据的持久化和管理,是现代Java应用中常用的数据访问技术。
JPA即Java Persistence API,是Java EE中用于持久化管理的一个标准。Spring Data JPA的目标是简化数据访问层(Repository层)的代码开发,让开发者能够更专注于业务逻辑的实现。 ### 核心概念 在Spring Data JPA中...
Spring Data JPA 是Spring框架的一个子项目,它提供了基于JPA规范的数据持久化解决方案,主要目的是简化数据访问层的代码。JPA(Java Persistence API)是Java EE(现在是Jakarta EE)的一部分,提供了对象关系映射...
它提供了ORM(对象关系映射)的抽象层,支持包括JPA在内的多种持久化技术,简化了数据库查询和存储操作。 4. **Consul**: 是一个用于服务发现和服务网格的数据中心解决方案。在这里,它作为注册中心,让微服务能够...
Spring Data JPA是Java开发中的一个强大框架,它简化了持久化层的开发,通过将ORM(对象关系映射)与Spring框架相结合,为开发者提供了简单、高效的数据库操作方式。这个压缩包“Spring Data JPA文档.zip”包含了...
1. **配置文件**:设置SpringMVC、Hibernate JPA和Spring Data JPA的相关配置,如数据源、实体扫描路径、JPA配置等。 2. **实体类**:定义与数据库表对应的实体类,包含属性和注解。 3. **Repository接口**:定义...
- **Bug追踪器**: 项目使用 Jira (https://jira.spring.io/browse/DATAJPA) 追踪 bug 和功能请求,用户可以在此报告问题或者查看已有的问题列表。 - **版本库**: 官方提供的稳定版本库位于 ...
这一部分讲解了如何创建和配置Spring Data JPA存储库实例。包括了XML配置、Java Config配置以及独立使用存储库的方式。此外,还介绍了一个重要的概念——过滤器,这允许开发者根据某些条件动态地修改存储库行为。 #...
综上所述,这个项目涵盖了从后端数据持久化、前端动态页面生成、无刷新交互到UI设计以及缓存优化等多个方面,是一个全面的Web开发实例,对于初学者来说,既可以从中学到SpringBoot和SpringData JPA的使用,也能了解...
- **2.6.1 合并持久化单元**:支持在同一应用中使用多个持久化单元,满足复杂应用场景的需求。 #### 四、附录 - **A. Namespace 参考**:提供了详细的配置元素说明,如 `<repositories/>` 和 `<repository/>` 等。...