总结篇-Spring-data-jpa 框架
来源:互联网 发布:淘宝缩水女的名字 编辑:程序博客网 时间:2024/05/22 12:32
Java持久化规范:
JPA是java实体对象和关系型数据库建立器映射关系,通过面向对象编程思想操作关系型数据库的规范。
1.Spring 框架对JPA的支持
Spring框架对JPA提供的支持主要体现在几个方面:
(1)它是的JPA配置变得更加灵活。JPA规范要求,配置文件必须命名为persistence.xml,并存在与类路径下的META-INF目录中。该文件包含初始化JPA引擎的全部信息。
Spring提供的·LocalContainerEntityManagerFactoryBean类为我们提供了非常灵活的配置,可以让我们自定义配置文件的名称和修改配置文件的位置。
(2)最有意义的,Spring将entityManger(实体管理器)的创建和销毁,事务管理等代码抽取出来,并有Spring统一管理,开发者不需要关系这些,业务方法中只剩下持久层业务逻辑代码。
2.Spring-Data-JPA 框架
Spring-Data-JPA框架,主要针对的就是Spring唯一没有简化到的持久层业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就是生命持久层的接口,其他的都交给Spring Data JPA来帮我们完成。
2.1持久层接口继承Repository接口
该接口使用了泛型,需要为其提供两个类型,第一个为该接口处理的域对象类型,第二个为域对象的主键类型
例如·:
public interface UserRepository extends JpaRepository<User,String>{
}
注: 不需要编写UserRepository的实现类,因为框架会帮我们完成业务逻辑。
3.总结使用Spring Data JPA 进行持久层开发大致需要的几个步骤:
(1)声明持久层的接口,该接口继承Repository,Repository是一个标志性接口,不包含任何方法,Spring Data 提供了若干Repository子接口,不同的接口定义了常用的CRUD方法和分页相关的的方法。
(2)在接口中声明需要的业务方法,Spring Data 会帮我们生成其实现代码。
(3)在Spring配置文件中增加一行声明,让Spring为声明的接口创建代理对象。配置了<jpa:repository>后,Spring初始化容器时会扫描base-package指定的包目录及其子目录,为继承Repository接口的接口创建代理对象,b并将代理对象注册为Spring Bean,业务层便可以通过Spring自动封装的特性来直接使用该对象。
4.Spring-data-jpa的配置文件示例
<!-- 配置jpa的entitymanagerFactory--> <bean id="entitymanagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="lab"/> <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"/> </bean> <!-- 配置jpa的transaction事务管理器--> <bean id="transcationManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entitymanagerFactory"/> </bean> <!-- 启用事务注解器--> <tx:annotation-driven transaction-manager="transcationManager"/> <!-- 配置Spring Data JPA 自动扫描目录 把继承了 JpaRepository 接口的interface 实例化为一个Spring bean --> <jpa:repositories base-package="com.study.demo.repository" entity-manager-factory-ref="entitymanagerFactory" transaction-manager-ref="transcationManager"/></beans>
配置文件中逐层引用,从中可以看出Spring-Data-JPA的工作流程,这里就不详细说了。
- 总结篇-Spring-data-jpa 框架
- Spring Data JPA框架
- spring-data-jpa总结
- Spring-Data-JPA 错误总结
- JPA,spring data jpa和其他jpa框架的关系
- spring data jpa、jpa以及ORM框架之间的关系
- Spring-data-JPA查询方法的总结
- Spring框架系列(四)-Spring Data JPA简介
- eclipse 使用maven 搭建spring + springMVC + spring Data + jpa 框架
- spring + springMVC + spring Data jpa + maven 项目框架搭建
- spring boot 框架处理spring data jpa的session
- Jpa到Spring data jpa
- JPA规范介绍以及JPA、ORM框架以及Spring Data Jpa的关系
- Spring data jpa 和 ORM框架的关系
- 基于Spring Data JPA框架的文章归档实现
- Spring Data Jpa 详解 (配置篇)
- Spring Data Jpa 详解 (配置篇)
- Spring Data JPA 教程: 介绍篇
- 查看csdn自己收藏的文章
- Linux设备驱动中的阻塞和非阻塞I/O
- Tfs问题
- 勒索病毒未死,新病毒或又要来袭
- Php的函数如何声明?
- 总结篇-Spring-data-jpa 框架
- (151)无需切线空间应用凹凸贴图
- python爬虫2之简单模拟浏览器
- Java成绩判断优良中差
- bzoj 4305: 数列的GCD 数学
- NRF24L01的最简配置
- 1354 [BA1003] The Rectangle class
- 装饰模式
- java的几种对象(PO,VO,DAO,BO,POJO)解释