JPA Spring Data : 致力于减少数据访问层 (DAO) 的开发量. 开发者唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成! 框架怎么可能代替开发者实现业务逻辑呢?比如:当有一个 UserDao.findUserById() 这样一个方法声明,大致应该能判断出这是根据给定条件的 ID 查询出满足条件的 User 对象。Spring Data JPA 做的便是规范方法的名字,根据符合规范的名字来确定方法需要实现什么样的逻辑。下面,我们将做一个helloworld
Spring Data Jpa HelloWorld
- 使用 Spring Data JPA 进行持久层开发需要的四个步骤:
- 配置 Spring 整合 JPA
-
在 Spring 配置文件中配置 Spring Data,让 Spring 为声明的接口创建代理对象。配置了 <jpa:repositories> 后,Spring 初始化容器时将会扫描 base-package 指定的包目录及其子目录,为继承 Repository 或其子接口的接口创建代理对象,并将代理对象注册为 Spring Bean,业务层便可以通过 Spring 自动封装的特性来直接使用该对象。
-
声明持久层的接口,该接口继承 Repository,Repository 是一个标记型接口,它不包含任何方法,如必要,Spring Data 可实现 Repository 其他子接口,其中定义了一些常用的增删改查,以及分页相关的方法。
-
Spring Data 将根据给定的策略(具体策略稍后讲解)来为其生成实现代码。
搭建环境
-
同时下载 Spring Data Commons 和 Spring Data JPA 两个发布包:Commons 是 Spring Data 的基础包 并把相关的依赖 JAR 文件加入到 CLASSPATH 中
- 在 Spring 的配置文件中配置 Spring Data