官术网_书友最值得收藏!

Spring Data

Spring Data is an interesting module that provides the easiest way to manage application data with Spring-based programming. The project is an umbrella project, with subprojects to support different databases technologies, even relational and nonrelational databases. The Spring Team supports some databases technologies, such as Apache Cassandra, Apache Solr, Redis, and JPA Specification, and the community maintains the other exciting projects, such as ElasticSearch, Aerospike, DynamoDb, and Couchbase. The full list of projects can be found at http://projects.spring.io/spring-data.

The goal is to remove the boilerplate code from the persistence code. In general, the data access layer is quite similar, even in different projects, differing only in the project model, and Spring Data provides a powerful way to map the domain model and repository abstraction.

There are some central interfaces; they're a kind of marker to instruct the framework to choose the correct implementation. Under the hood, Spring will create a proxy and delegate the correct implementation. The amazing thing here is that developers don't have to write any persistence code and then take care of this code; they simply choose the required technology and Spring takes care of the rest.

The central interfaces are CrudRepository and PagingAndSortingRepository, and their names are self-explanatory. CrudRepository implements the CRUD behaviors, such as create, retrieval, update, and deletePagingAndSortingRepository is an extension of CrudRepository and adds some features such as paging and sorting. Usually, we will find derivations of these interfaces such as MongoRepository, which interacts with MongoDB database technology.

Some common annotations are  @Query, @Id, and  @EnableJpaRepositories.
主站蜘蛛池模板: 钟祥市| 德钦县| 寿宁县| 武陟县| 岐山县| 晋中市| 霍山县| 湘潭县| 车险| 怀安县| 古浪县| 绥中县| 滦平县| 绥化市| 长春市| 桦南县| 通化市| 大城县| 永宁县| 芦山县| 富顺县| 黄冈市| 鄂托克前旗| 九江市| 长乐市| 会理县| 邻水| 施秉县| 西华县| 天长市| 迭部县| 娄底市| 龙江县| SHOW| 安顺市| 嵊州市| 那曲县| 桦南县| 越西县| 甘孜| 惠来县|