Spring Data是什么?如何使用?

2020-04-01 14:29:25 java常见问答 5092

从事java相关软件开发的朋友应该都比较清楚Spring,但是也不一定都了解Spring Data,当然了,这两个词在软件开发中还是比较常见的,就是放在一起大概也可以猜得出它可能是做什么的,为了能够比较清楚的弄明白,Spring Data它到底是什么?应该怎么使用它?下面小编整理了相关内容,一起来看看吧。

其实可以这样说,Spring Data是Spring的一个子项目。主要用于简化数据库访问,支持NoSQL和关系数据存储。使用SpringData可以大幅减少数据访问层 (DAO) 的开发量。开发者唯一要做的,就是声明持久层接口,其他都交给Spring Data JPA来帮你完成。

那么如何去使用Spring Data?

第一步:下载需要的包。

需要先 下载Spring DataJPA的发布包(需要同时下载Spring Data Commons和Spring Data JPA两个发布包,Commons是Spring Data的公共基础包),并把相关的依赖JAR文件加入到CLASSPATH中。

第二步:让持久层接口Dao(以UserDao)继承Repository接口。

该接口使用了泛型,需要为其提供两个类型:第一个为该接口处理的域对象类型,第二个为该域对象的主键类型。 如下:

Spring DataJPA风格的持久层接口:

public interface UserDao extends Repository{
public AccountInfo save(AccountInfo accountInfo);
}

不需要UserDao的实现类,框架会为我们完成业务逻辑。

第三步:在Spring配置文件中启用扫描并自动创建代理的功能。

<-- 需要在 <beans> 标签中增加对 jpa 命名空间的引用 --> 
 <jpa:repositories base-package="footmark.springdata.jpa.dao"
 entity-manager-factory-ref="entityManagerFactory" 
 transaction-manager-ref="transactionManager"/>

第四步:测试代码。

public interface UserDao extends Repository{
public AccountInfo save(AccountInfo accountInfo);
public AccountInfo findByAccountId(Long accountId);
}

其实总的来说,使用Spring Data JPA进行持久层开发大致需要的三个步骤:

1.声明持久层的接口,该接口继承Repository,Repository是一个标记型接口,它不包含任何方法,当然如果有需要,Spring Data也提供了若干Repository子接口,其中定义了一些常用的增删改查,以及分页相关的方法。

2.在接口中声明需要的业务方法。Spring Data将根据给定的策略来为其生成实现代码。

3.在Spring配置文件中增加一行声明,让Spring为声明的接口创建代理对象。配置了后,Spring初始化容器时将会扫描base-package指定的包目录及其子目录,为继承Repository或其子接口的接口创建代理对象,并将代理对象注册为Spring Bean,业务层便可以通过Spring自动封装的特性来直接使用该对象。

以上就是有关Spring Data的所有内容了,如果你觉得以上内容对你有所帮助的话,记得关注本站获取更多相关信息哦。