0
# Spring Boot Components
1
2
Essential Spring Boot modules and starters that form the foundation of Spring Boot applications. These components provide auto-configuration, embedded servers, and opinionated defaults for rapid application development.
3
4
## Capabilities
5
6
### Core Spring Boot Libraries
7
8
Fundamental Spring Boot infrastructure components.
9
10
```gradle { .api }
11
// Core Spring Boot framework
12
'org.springframework.boot:spring-boot' // 3.5.3
13
'org.springframework.boot:spring-boot-autoconfigure' // 3.5.3
14
'org.springframework.boot:spring-boot-configuration-processor' // 3.5.3
15
16
// Build and packaging
17
'org.springframework.boot:spring-boot-loader' // 3.5.3
18
'org.springframework.boot:spring-boot-loader-tools' // 3.5.3
19
'org.springframework.boot:spring-boot-buildpack-platform' // 3.5.3
20
```
21
22
### Web Starters
23
24
Web application starters with embedded servers and web framework auto-configuration.
25
26
```gradle { .api }
27
// Traditional servlet-based web applications
28
'org.springframework.boot:spring-boot-starter-web' // 3.5.3
29
30
// Reactive web applications
31
'org.springframework.boot:spring-boot-starter-webflux' // 3.5.3
32
33
// JAX-RS with Jersey
34
'org.springframework.boot:spring-boot-starter-jersey' // 3.5.3
35
36
// WebSocket support
37
'org.springframework.boot:spring-boot-starter-websocket' // 3.5.3
38
39
// Web services (SOAP)
40
'org.springframework.boot:spring-boot-starter-web-services' // 3.5.3
41
```
42
43
### Data Access Starters
44
45
Data persistence starters with database auto-configuration and transaction management.
46
47
```gradle { .api }
48
// JPA with Hibernate
49
'org.springframework.boot:spring-boot-starter-data-jpa' // 3.5.3
50
51
// Reactive data access with R2DBC
52
'org.springframework.boot:spring-boot-starter-data-r2dbc' // 3.5.3
53
54
// Plain JDBC support
55
'org.springframework.boot:spring-boot-starter-jdbc' // 3.5.3
56
57
// MongoDB support
58
'org.springframework.boot:spring-boot-starter-data-mongodb' // 3.5.3
59
'org.springframework.boot:spring-boot-starter-data-mongodb-reactive' // 3.5.3
60
61
// Other NoSQL databases
62
'org.springframework.boot:spring-boot-starter-data-neo4j' // 3.5.3
63
'org.springframework.boot:spring-boot-starter-data-cassandra' // 3.5.3
64
'org.springframework.boot:spring-boot-starter-data-couchbase' // 3.5.3
65
'org.springframework.boot:spring-boot-starter-data-elasticsearch' // 3.5.3
66
67
// LDAP support
68
'org.springframework.boot:spring-boot-starter-data-ldap' // 3.5.3
69
70
// REST repositories
71
'org.springframework.boot:spring-boot-starter-data-rest' // 3.5.3
72
73
// jOOQ integration
74
'org.springframework.boot:spring-boot-starter-jooq' // 3.5.3
75
```
76
77
### Security Starters
78
79
Security and authentication starters with Spring Security integration.
80
81
```gradle { .api }
82
// Core security
83
'org.springframework.boot:spring-boot-starter-security' // 3.5.3
84
85
// OAuth2 client
86
'org.springframework.boot:spring-boot-starter-oauth2-client' // 3.5.3
87
88
// OAuth2 resource server
89
'org.springframework.boot:spring-boot-starter-oauth2-resource-server' // 3.5.3
90
91
// OAuth2 authorization server
92
'org.springframework.boot:spring-boot-starter-oauth2-authorization-server' // 3.5.3
93
```
94
95
### Template Engine Starters
96
97
View layer starters with template engine auto-configuration.
98
99
```gradle { .api }
100
// Thymeleaf templating
101
'org.springframework.boot:spring-boot-starter-thymeleaf' // 3.5.3
102
103
// FreeMarker templating
104
'org.springframework.boot:spring-boot-starter-freemarker' // 3.5.3
105
106
// Mustache templating
107
'org.springframework.boot:spring-boot-starter-mustache' // 3.5.3
108
109
// Groovy templates
110
'org.springframework.boot:spring-boot-starter-groovy-templates' // 3.5.3
111
```
112
113
### Messaging Starters
114
115
Message broker and event processing starters.
116
117
```gradle { .api }
118
// RabbitMQ AMQP
119
'org.springframework.boot:spring-boot-starter-amqp' // 3.5.3
120
121
// Apache ActiveMQ
122
'org.springframework.boot:spring-boot-starter-activemq' // 3.5.3
123
124
// Apache ActiveMQ Artemis
125
'org.springframework.boot:spring-boot-starter-artemis' // 3.5.3
126
127
// Apache Kafka
128
// Note: Kafka starter not included in dependencies BOM - use Spring Kafka directly
129
130
// Apache Pulsar
131
'org.springframework.boot:spring-boot-starter-pulsar' // 3.5.3
132
'org.springframework.boot:spring-boot-starter-pulsar-reactive' // 3.5.3
133
```
134
135
### Integration and Batch Starters
136
137
Enterprise integration and batch processing starters.
138
139
```gradle { .api }
140
// Spring Integration
141
'org.springframework.boot:spring-boot-starter-integration' // 3.5.3
142
143
// Spring Batch
144
'org.springframework.boot:spring-boot-starter-batch' // 3.5.3
145
146
// Spring HATEOAS
147
'org.springframework.boot:spring-boot-starter-hateoas' // 3.5.3
148
149
// GraphQL
150
'org.springframework.boot:spring-boot-starter-graphql' // 3.5.3
151
```
152
153
### Caching and Session Starters
154
155
Caching and session management starters.
156
157
```gradle { .api }
158
// Caching support
159
'org.springframework.boot:spring-boot-starter-cache' // 3.5.3
160
161
// Redis data store
162
'org.springframework.boot:spring-boot-starter-data-redis' // 3.5.3
163
'org.springframework.boot:spring-boot-starter-data-redis-reactive' // 3.5.3
164
```
165
166
### Validation and AOP Starters
167
168
Cross-cutting concern starters for validation and aspect-oriented programming.
169
170
```gradle { .api }
171
// Bean validation
172
'org.springframework.boot:spring-boot-starter-validation' // 3.5.3
173
174
// Aspect-oriented programming
175
'org.springframework.boot:spring-boot-starter-aop' // 3.5.3
176
```
177
178
### Embedded Server Starters
179
180
Alternative embedded server configurations.
181
182
```gradle { .api }
183
// Embedded Tomcat (default for web starter)
184
'org.springframework.boot:spring-boot-starter-tomcat' // 3.5.3
185
186
// Embedded Jetty
187
'org.springframework.boot:spring-boot-starter-jetty' // 3.5.3
188
189
// Embedded Undertow
190
'org.springframework.boot:spring-boot-starter-undertow' // 3.5.3
191
192
// Reactive Netty (default for webflux)
193
'org.springframework.boot:spring-boot-starter-reactor-netty' // 3.5.3
194
195
// RSocket support
196
'org.springframework.boot:spring-boot-starter-rsocket' // 3.5.3
197
```
198
199
### Development and Operations Starters
200
201
Development tools and production monitoring starters.
202
203
```gradle { .api }
204
// Development tools (hot reload, etc.)
205
'org.springframework.boot:spring-boot-devtools' // 3.5.3
206
207
// Production monitoring
208
'org.springframework.boot:spring-boot-starter-actuator' // 3.5.3
209
210
// Mail support
211
'org.springframework.boot:spring-boot-starter-mail' // 3.5.3
212
213
// Quartz scheduler
214
'org.springframework.boot:spring-boot-starter-quartz' // 3.5.3
215
```
216
217
### Testing Starters
218
219
Comprehensive testing support with Spring Boot integration.
220
221
```gradle { .api }
222
// Complete testing starter (includes JUnit, Mockito, AssertJ, Spring Test)
223
'org.springframework.boot:spring-boot-starter-test' // 3.5.3
224
225
// Testcontainers integration
226
'org.springframework.boot:spring-boot-testcontainers' // 3.5.3
227
```
228
229
### Logging Starters
230
231
Logging framework configuration starters.
232
233
```gradle { .api }
234
// Default logging (Logback)
235
'org.springframework.boot:spring-boot-starter-logging' // 3.5.3
236
237
// Log4j2 alternative
238
'org.springframework.boot:spring-boot-starter-log4j2' // 3.5.3
239
240
// JSON output
241
'org.springframework.boot:spring-boot-starter-json' // 3.5.3
242
```
243
244
## Usage Examples
245
246
### Basic Web Application
247
248
```gradle
249
dependencies {
250
implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
251
252
implementation 'org.springframework.boot:spring-boot-starter-web'
253
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
254
implementation 'org.springframework.boot:spring-boot-starter-security'
255
256
testImplementation 'org.springframework.boot:spring-boot-starter-test'
257
}
258
```
259
260
### Reactive Web Application
261
262
```gradle
263
dependencies {
264
implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
265
266
implementation 'org.springframework.boot:spring-boot-starter-webflux'
267
implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc'
268
implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'
269
270
testImplementation 'org.springframework.boot:spring-boot-starter-test'
271
}
272
```
273
274
### Microservice with Messaging
275
276
```gradle
277
dependencies {
278
implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
279
280
implementation 'org.springframework.boot:spring-boot-starter-web'
281
implementation 'org.springframework.boot:spring-boot-starter-amqp'
282
implementation 'org.springframework.boot:spring-boot-starter-actuator'
283
implementation 'org.springframework.boot:spring-boot-starter-cache'
284
285
testImplementation 'org.springframework.boot:spring-boot-starter-test'
286
testImplementation 'org.springframework.boot:spring-boot-testcontainers'
287
}
288
```