一、简介
?Spring Data致力于减少数据访问层(DAO)的开发量,使用Spring Data时开发者唯一要做的就只是声明持久层的接口,接口中方法的实现逻辑都交给Spring Data来完成。Java开发中使用Spring Data的Spring Data JPA进行数据的持久化,Spring Data不但提供了JPA的持久化解决方案,其他的非关系型数据库的持久化方案也有提供,比如:Spring Data Redis、Spring Data MongoDB等。
?Spring Data框架是怎么代替开发者实现业务逻辑的呢?举例来说:当UserDao接口中有一个UserDao.findUserById(Integer id)的方法声明,Spring Data就会根据方法的命名推断出这是根据给定的id查询满足条件的User对象,也会按照这个推断进行业务实现。因此使用Spring Data时方法的命名规范很重要,命名一定程度上就是业务逻辑。
?使用Spring Data进行持久层开发大致需要三步:
??①声明持久层的接口:该接口需继承Repository接口,Repository是一个标记型接口,它不包含任何方法。如果必要,可继承Repository接口的其他子接口,在框架提供的一些Repository的子接口中定义了一些常用的增删改查,以及分页相关的方法;
??②在接口中声明需要的方法:Spring Data将根据给定的策略来为接口生成实现
??③在Spring的配置文件中配置Spring Data:让Spring为声明的接口创建代理对象。配置了<jpa:repositories>后,Spring在初始化容器时将会扫描base-package指定的包及其子包,并为继承了Repository或其子接口的接口创建代理对象,并将代理对象注册为Spring Bean,业务层便可以通过Spring的DI来使用该对象。
二、环境搭建
1、引入依赖或导入jar包
spring-data-commons-1.6.2.RELEASE.jar
spring-data-jpa-1.4.2.RELEASE.jar
2、配置数据源:jdbc.properties
3、配置applicationContext.xml