Spring Boot

Spring Boot

BACKEND

REST API, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ๋ฆฌ์•กํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์ง€๋Šฅ์ ์ธ ์ž๋™ ์„ค์ •๊ณผ ์™„์ „ํ•œ ์ƒํƒœ๊ณ„๋ฅผ ์ œ๊ณตํ•˜๋Š” Java ๋ฐฑ์—”๋“œ ๋ ˆํผ๋Ÿฐ์Šค ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. Spring Data JPA, Spring Security, ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์„ ์œ„ํ•œ Spring Cloud๋ฅผ ๊ฐ–์ถ˜ ๋ชจ๋“ˆ๋Ÿฌ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์šธ ๋‚ด์šฉ

์ง€๋Šฅ์ ์ธ ์ž๋™ ์„ค์ •๊ณผ ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ starters

์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๊ฐ–์ถ˜ ํ˜„๋Œ€์  API๋ฅผ ์œ„ํ•œ Spring MVC & REST

์˜์†์„ฑ์„ ์œ„ํ•œ Spring Data JPA + Hibernate

JWT, OAuth2, ๊ณ ๊ธ‰ ์ธ์ฆ์„ ์œ„ํ•œ Spring Security

ํฌ๊ด„์ ์ธ ํ…Œ์ŠคํŠธ (JUnit, Mockito, @SpringBootTest, slices)

ํ”„๋กœ๋•์…˜ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋ฉ”ํŠธ๋ฆญ์„ ์œ„ํ•œ Actuator

WebFlux (Mono/Flux)๋ฅผ ํ™œ์šฉํ•œ ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์™€ Spring Cloud (Config, Discovery, Gateway)

ํŠธ๋žœ์žญ์…˜, ์บ์‹ฑ (Redis, Caffeine), async/scheduling

Docker ์ปจํ…Œ์ด๋„ˆํ™”์™€ GraalVM ๋„ค์ดํ‹ฐ๋ธŒ ์ด๋ฏธ์ง€

๋งˆ์Šคํ„ฐํ•ด์•ผ ํ•  ํ•ต์‹ฌ ์ฃผ์ œ

์ด ๊ธฐ์ˆ ์„ ์ดํ•ดํ•˜๊ณ  ๋ฉด์ ‘์—์„œ ์„ฑ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋…

1

Spring Core: IoC, Dependency Injection, beans์™€ scopes

2

์ž๋™ ์„ค์ •, starters์™€ ์„ค์ • (properties/YAML)

3

Spring MVC, REST controllers (@GetMapping, @PostMapping ๋“ฑ)

4

์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ (@PathVariable, @RequestBody)

5

Bean Validation๊ณผ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

6

Spring Data JPA: ์—”ํ‹ฐํ‹ฐ, ๊ด€๊ณ„, repositories์™€ ์ฟผ๋ฆฌ

7

Spring Security: ์ธ์ฆ, ์ธ๊ฐ€, JWT, OAuth2

8

ํŠธ๋žœ์žญ์…˜ (@Transactional), ์ „ํŒŒ์™€ ๊ฒฉ๋ฆฌ

9

ํ…Œ์ŠคํŠธ: ๋‹จ์œ„ ํ…Œ์ŠคํŠธ (Mockito)์™€ Spring Boot ํ…Œ์ŠคํŠธ

10

Actuator, ๋กœ๊น… (SLF4J/Logback), ๋ชจ๋‹ˆํ„ฐ๋ง

11

@Cacheable์„ ํ™œ์šฉํ•œ ์บ์‹ฑ, ํ”„๋กœ๋ฐ”์ด๋” (Redis, EhCache)

12

Async (@Async), ์Šค์ผ€์ค„๋ง (@Scheduled), ์ด๋ฒคํŠธ

13

WebFlux์™€ ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (Mono, Flux)

14

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: Spring Cloud Config, Service Discovery, API Gateway

15

์„ฑ๋Šฅ, ์ตœ์ ํ™”, Docker, GraalVM ๋„ค์ดํ‹ฐ๋ธŒ ์ด๋ฏธ์ง€

์ตœ์‹  Spring Boot ๊ธฐ์‚ฌ

Spring Boot์— ๊ด€ํ•œ ์ตœ์‹  ๊ธฐ์‚ฌ์™€ ๊ฐ€์ด๋“œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”

Logback๊ณผ JSON์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” Spring Boot ๊ตฌ์กฐํ™” ๋กœ๊น…

2026๋…„ Spring Boot ๋กœ๊น…: Logback๊ณผ JSON์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์šด์˜ ํ™˜๊ฒฝ ๊ตฌ์กฐํ™” ๋กœ๊ทธ

Spring Boot ๊ตฌ์กฐํ™” ๋กœ๊น… ์™„๋ฒฝ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค. Logback JSON ์„ค์ •, ์ถ”์ ์šฉ MDC, ์šด์˜ ํ™˜๊ฒฝ ๋ชจ๋ฒ” ์‚ฌ๋ก€, ELK Stack ์—ฐ๋™์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Spring Kafka์™€ ํšŒ๋ณตํƒ„๋ ฅ์„ฑ์„ ๊ฐ–์ถ˜ ์ปจ์Šˆ๋จธ๋กœ ๊ตฌ์ถ•ํ•œ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜

Spring Kafka: ํšŒ๋ณตํƒ„๋ ฅ์„ฑ์„ ๊ฐ–์ถ˜ ์ปจ์Šˆ๋จธ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜

์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์œ„ํ•œ ์™„์ „ํ•œ Spring Kafka ๊ฐ€์ด๋“œ. ์„ค์ •, ํšŒ๋ณตํƒ„๋ ฅ์„ฑ์„ ๊ฐ–์ถ˜ ์ปจ์Šˆ๋จธ, ์žฌ์‹œ๋„ ์ •์ฑ…, Dead Letter Queue, ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์šด์˜ ํŒจํ„ด.

Resolver ๋ฐ DataLoader๊ฐ€ ์žˆ๋Š” Spring GraphQL ๊ธฐ์ˆ  ๋ฉด์ ‘

Spring GraphQL ๋ฉด์ ‘: Resolver, DataLoader ๋ฐ N+1 ๋ฌธ์ œ ํ•ด๊ฒฐ์ฑ…

์ด ์™„์ „ํ•œ ๊ฐ€์ด๋“œ๋กœ Spring GraphQL ๋ฉด์ ‘์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค. Resolver, DataLoader, N+1 ๋ฌธ์ œ ์ฒ˜๋ฆฌ, mutation ๋ฐ ๊ธฐ์ˆ  ์งˆ๋ฌธ์„ ์œ„ํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋ชจ๋“  Spring Boot ๊ธฐ์‚ฌ ๋ณด๊ธฐ