You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository contains example projects for the different Spring Data modules to showcase the API and how to use the features provided by the modules.
6
6
7
7
We have separate folders for the samples of individual modules:
8
8
9
-
##Spring Data for Apache Cassandra
9
+
==Spring Data for Apache Cassandra
10
10
11
11
* `example` - Shows core Spring Data support for Apache Cassandra.
12
12
* `kotlin` - Example for using Cassandra with Kotlin.
13
13
* `reactive` - Example project to show reactive template and repository support.
14
14
15
-
##Spring Data Elasticsearch
15
+
== Spring Data Elasticsearch
16
16
17
17
* `example` - Example how to use basic text search, geo-spatial search and facets. It uses
18
-
the High Level REST Client backing template and repository.
18
+
the High Level REST Client backing template and repository.
19
19
* `reactive` - Example how to use reactive client, template and repository features.
20
20
21
21
Local Elasticsearch instance must be running to run the tests.
22
22
23
-
##Spring Data for Apache Geode
23
+
== Spring Data for Apache Geode
24
24
25
25
* `events` - In this example the test will make use of event handlers and async event
26
-
queue to handle events.
26
+
queue to handle events.
27
27
* `expiration-eviction` - In these examples the server is configured to delete entries
28
-
after a certain idle period or after a Time-To-Live period (expiration0 or remove data
29
-
from memory when certain thresholds are reached (eviction).
28
+
after a certain idle period or after a Time-To-Live period (expiration0 or remove data
29
+
from memory when certain thresholds are reached (eviction).
30
30
* `function-invocation` - In this example the server will have 3 functions registered. The
31
-
client will invoke each of the functions.
31
+
client will invoke each of the functions.
32
32
* `queries` - In this example a client will query the data in various ways using OQl,
33
-
continuous queries, and Apache Lucene indexes.
33
+
continuous queries, and Apache Lucene indexes.
34
34
* `security` - In this example the servers and clients are set up with security (
35
-
username/password) authentication using Geode Security and Apache Shiro.
35
+
username/password) authentication using Geode Security and Apache Shiro.
36
36
* `storage` - In this example the server is configured to store data off of hte JVM heap
37
-
using the `@EnableOffHeap` annotation and to compress region data using
38
-
SnappyCompressor`.
37
+
using the `@EnableOffHeap` annotation and to compress region data using
38
+
SnappyCompressor`.
39
39
* `transactions` - In this example the client will perform operations within a
40
-
transaction. First, it will do a successful transaction where entries are saved to the
41
-
server, and then a failed transaction where all changes are reverted.
40
+
transaction. First, it will do a successful transaction where entries are saved to the
41
+
server, and then a failed transaction where all changes are reverted.
42
42
* `wan` - In these example two servers are deployed. One server populates itself with data, and the other server gets populated with that data via WAN replication.
43
43
44
-
##Spring Data JDBC
44
+
== Spring Data JDBC
45
45
46
46
* `basic` - Basic usage of Spring Data JDBC.
47
47
* `immutables` - Showing Spring Data JDBC usage
48
-
with [Immutables](https://immutables.github.io/)
48
+
with https://immutables.github.io/[Immutables]
49
49
50
-
##Spring Data JPA
50
+
== Spring Data JPA
51
51
52
-
*`eclipselink` - Sample project to show how to use Spring Data JPA with Spring Boot and [Eclipselink](https://www.eclipse.org/eclipselink/).
52
+
* `eclipselink` - Sample project to show how to use Spring Data JPA with Spring Boot and https://www.eclipse.org/eclipselink/[Eclipselink].
53
53
* `example` - Probably the project you want to have a look at first. Contains a variety of sample packages, showcasing the different levels at which you can use Spring Data JPA. Have a look at the `simple` package for the most basic setup.
54
54
* `interceptors` - Example of how to enrich the repositories with AOP.
55
55
* `jpa21` - Shows support for JPA 2.1 specific features (stored procedures support).
56
56
* `multiple-datasources` - Examples of how to use Spring Data JPA with multiple `DataSource`s.
57
57
* `query-by-example` - Example project showing usage of Query by Example with Spring Data JPA.
58
58
* `security` - Example of how to integrate Spring Data JPA Repositories with Spring Security.
59
59
* `showcase` - Refactoring show case of how to improve a plain-JPA-based persistence layer by using Spring Data JPA (read: removing close to all of the implementation code). Follow the `demo.txt` file for detailed instructions.
60
-
*`vavr` - Shows the support of [Vavr](https://www.vavr.io) collection types as return types for query methods.
60
+
* `vavr` - Shows the support of https://www.vavr.io[Vavr] collection types as return types for query methods.
61
61
62
-
##Spring Data LDAP
62
+
== Spring Data LDAP
63
63
64
64
* `example` - Sample for Spring Data repositories to access an LDAP store.
65
65
66
-
##Spring Data MongoDB
66
+
== Spring Data MongoDB
67
67
68
68
* `aggregation` - Example project to showcase the MongoDB aggregation framework support.
69
69
* `example` - Example project for general repository functionality (including geo-spatial functionality), Querydsl integration and advanced topics.
70
70
* `fluent-api` - Example project to show the new fluent API (`MongoTemplate`-alternative) to interact with MongoDB.
71
-
*`geo-json` - Example project showing usage of [GeoJSON](http://geojson.org) with MongoDB.
71
+
* `geo-json` - Example project showing usage of http://geojson.org[GeoJSON] with MongoDB.
72
72
* `gridfs` - Example project showing usage of gridFS with MongoDB.
73
73
* `jmolecules` - Example of Spring Data MongoDB working with a jMolecules based domain model.
74
-
*`kotlin` - Example for using [Kotlin](https://kotlinlang.org/) with MongoDB.
74
+
* `kotlin` - Example for using https://kotlinlang.org/[Kotlin] with MongoDB.
75
+
* `linking` - Example demonstrating possibilities for linking documents.
75
76
* `query-by-example` - Example project showing usage of Query by Example with MongoDB.
76
-
*`querydsl` - Example project showing imperative and reactive [Querydsl](https://github.com/querydsl/querydsl) support for MongoDB.
77
+
* `querydsl` - Example project showing imperative and reactive https://github.com/querydsl/querydsl[Querydsl] support for MongoDB.
77
78
* `reactive` - Example project to show reactive template and repository support.
78
79
* `repository-metrics` - Example project to show how to collect repository method invocation metrics.
79
80
* `security` - Example project showing usage of Spring Security with MongoDB.
80
81
* `text-search` - Example project showing usage of MongoDB text search feature.
81
82
* `transactions` - Example project for imperative and reactive MongoDB 4.0 transaction support.
82
83
83
-
##Spring Data Neo4j
84
+
== Spring Data Neo4j
84
85
85
86
* `example` - Example to show basic node and relationship entities and repository usage.
86
87
87
-
##Spring Data R2DBC
88
+
== Spring Data R2DBC
88
89
89
90
* `example` - Basic usage of Spring Data R2DBC.
90
91
91
-
##Spring Data Redis
92
+
== Spring Data Redis
92
93
93
94
* `cluster` - Example for Redis Cluster support.
94
95
* `example` - Example for basic Spring Data Redis setup.
95
96
* `reactive` - Example project to show reactive template support.
96
97
* `repositories` - Example demonstrating Spring Data repository abstraction on top of Redis.
97
98
* `sentinel` - Example for Redis Sentinel support.
98
-
*`streams` - Example for [Redis Streams](https://redis.io/topics/streams-intro) support.
99
+
* `streams` - Example for https://redis.io/topics/streams-intro[Redis Streams] support.
99
100
100
-
Local Redis instances must be running to run the tests.
101
+
Local Redis instances must be running to run the tests. One option is to use Docker in a separate terminal:
101
102
102
-
## Spring Data REST
103
+
```
104
+
$ docker run -p 6379:6379 redis:5.0
105
+
```
106
+
107
+
WARNING: If you're done using it, don't forget to shut it down!
108
+
109
+
== Spring Data REST
103
110
104
111
* `headers` - A sample showing the population of HTTP headers and the usage of them to perform conditional `GET` requests.
105
112
* `multi-store` - A sample REST web-service based on both Spring Data JPA and Spring Data MongoDB.
@@ -108,27 +115,27 @@ Local Redis instances must be running to run the tests.
108
115
* `starbucks` - A sample REST web-service built with Spring Data REST and MongoDB.
109
116
* `uri-customizations` - Example project to show URI customization capabilities.
110
117
111
-
##Spring Data web support
118
+
== Spring Data web support
112
119
113
120
* `projections` - Example for Spring Data web support for JSONPath and XPath expressions on projection interfaces.
114
121
* `querydsl` - Example for Spring Data Querydsl web integration (creating a `Predicate` from web requests).
115
122
* `web` - Example for Spring Data web integration (binding `Pageable` instances to Spring MVC controller methods, using interfaces to bind Spring MVC request payloads).
116
123
117
-
##Miscellaneous
124
+
== Miscellaneous
118
125
119
126
* `bom` - Example project how to use the Spring Data release train bom in non-Spring-Boot
120
-
scenarios.
127
+
scenarios.
121
128
* `map` - Example project to show how to use `Map`-backed repositories.
122
129
* `multi-store` - Example project to use both Spring Data MongoDB and Spring Data JPA in
123
-
one project.
130
+
one project.
124
131
125
-
##Note
132
+
== Note
126
133
127
-
* The example projects make use of the [Lombok](https://projectlombok.org/) plugin. To get
128
-
proper code navigation in your IDE, you must install it separately. Lombok is available
129
-
in the IntelliJ plugins repository and as
130
-
a [download](https://projectlombok.org/download) for Eclipse-based IDEs.
134
+
* The example projects make use of the https://projectlombok.org/[Lombok] plugin. To get
135
+
proper code navigation in your IDE, you must install it separately. Lombok is available
136
+
in the IntelliJ plugins repository and as
137
+
a https://projectlombok.org/download[download] for Eclipse-based IDEs.
131
138
* The code makes use of Java 16 language features therefore you need Java 16 or newer to
132
-
run and compile the examples.
139
+
run and compile the examples.
133
140
* Most store modules examples start their database via Testcontainers or as
134
-
embedded/in-memory server unless stated otherwise.
141
+
embedded/in-memory server unless stated otherwise.
0 commit comments