๐ Awesome Spring
Spring Framework ๊ฐ๋ฐ์๋ฅผ ์ํ ์ต๊ณ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋๊ตฌ, ๋ฆฌ์์ค ๋ชจ์
๐ Awesome Spring
Spring Framework ๊ฐ๋ฐ์๋ฅผ ์ํ ์ต๊ณ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋๊ตฌ, ๋ฆฌ์์ค ๋ชจ์
2025๋ ์ต์ ํธ๋ ๋์ ๊ฒ์ฆ๋ ๋๊ตฌ๋ค์ ํ๊ณณ์ ๋ชจ์์ต๋๋ค.
๐งฉ ํต์ฌ ํ๋ก์ ํธ
Spring Framework Core
- Spring Framework โญ 56k โ ํต์ฌ Spring ํ๋ ์์ํฌ
- Spring Boot โญ 75k โ ์คํ๋ง ๋ถํธ
- Spring Cloud โญ 9k โ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์
- Spring Security โญ 9k โ ๋ณด์ ํ๋ ์์ํฌ
Spring Boot Starters
- spring-boot-starter-web โ ์น ์ ํ๋ฆฌ์ผ์ด์
- spring-boot-starter-data-jpa โ JPA ๋ฐ์ดํฐ ์ก์ธ์ค
- spring-boot-starter-security โ ๋ณด์ ์คํํฐ
- spring-boot-starter-test โ ํ ์คํธ ์คํํฐ
ํ๋ก์ ํธ ์์ฑ ๋๊ตฌ
- Spring Initializr โ ๊ณต์ ํ๋ก์ ํธ ์์ฑ๊ธฐ
- JHipster โญ 22k โ ํ์คํ ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ๊ธฐ
- Spring Boot CLI โ ์ปค๋งจ๋๋ผ์ธ ๋๊ตฌ
๐ ์น ํ๋ ์์ํฌ
Spring MVC
- Spring Web MVC โ ์ ํต์ ์ธ ์น ํ๋ ์์ํฌ
- Thymeleaf โญ 3k โ ๋ชจ๋ ์๋ฒ์ฌ์ด๋ ํ ํ๋ฆฟ ์์ง
- Spring HATEOAS โญ 1k โ REST API์ฉ HATEOAS
- Spring REST Docs โญ 1k โ REST API ๋ฌธ์ํ
Spring WebFlux
- Spring WebFlux โ ๋ฐ์ํ ์น ํ๋ ์์ํฌ
- Project Reactor โญ 5k โ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- R2DBC โญ 1k โ ๋ฐ์ํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ
- RSocket โญ 2k โ ๋ฐ์ํ ๋คํธ์ํฌ ํ๋กํ ์ฝ
GraphQL
- Spring GraphQL โญ 2k โ Spring GraphQL ํตํฉ
- GraphQL Java โญ 6k โ Java GraphQL ๊ตฌํ
- DGS Framework โญ 3k โ Netflix GraphQL ํ๋ ์์ํฌ
๐๏ธ ๋ฐ์ดํฐ ์ก์ธ์ค
Spring Data
- Spring Data JPA โญ 3k โ JPA ๋ฆฌํฌ์งํ ๋ฆฌ ์ถ์ํ
- Spring Data MongoDB โญ 2k โ MongoDB ํตํฉ
- Spring Data Redis โญ 2k โ Redis ํตํฉ
- Spring Data Elasticsearch โญ 3k โ Elasticsearch ํตํฉ
ORM & Query
- Hibernate โญ 6k โ Java ORM ํ๋ ์์ํฌ
- QueryDSL โญ 5k โ ํ์ ์์ ์ฟผ๋ฆฌ
- JOOQ โญ 6k โ SQL ๋น๋
- MyBatis Spring โญ 1k โ MyBatis ํตํฉ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์
- Flyway โญ 8k โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์
- Liquibase โญ 5k โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ ๊ด๋ฆฌ
๐ ๋ง์ดํฌ๋ก์๋น์ค
Spring Cloud
- Spring Cloud Gateway โญ 5k โ API ๊ฒ์ดํธ์จ์ด
- Spring Cloud Config โญ 2k โ ์ค์ ์ค์ ๊ด๋ฆฌ
- Spring Cloud Netflix โญ 5k โ Netflix OSS ํตํฉ
- Spring Cloud Kubernetes โญ 3k โ Kubernetes ํตํฉ
์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ
- Eureka โญ 13k โ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ
- Consul โญ 29k โ ์๋น์ค ๋ฉ์
- Zookeeper โญ 12k โ ๋ถ์ฐ ์กฐ์ ์๋น์ค
ํ๋ก ์ฐจ๋จ๊ธฐ
- Resilience4j โญ 10k โ ์ฅ์ ํ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- Hystrix โญ 24k โ ํ๋ก ์ฐจ๋จ๊ธฐ (์ ์ง๋ณด์ ๋ชจ๋)
- Spring Cloud Circuit Breaker โญ 1k โ ์ถ์ํ ๋ ์ด์ด
๐ง ์ ํธ๋ฆฌํฐ
๋ฉ์์ง
- Spring AMQP โญ 1k โ RabbitMQ ํตํฉ
- Spring Kafka โญ 2k โ Apache Kafka ํตํฉ
- Spring Cloud Stream โญ 1k โ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค
- Spring Integration โญ 2k โ ์ํฐํ๋ผ์ด์ฆ ํตํฉ ํจํด
์บ์ฑ
- Spring Cache โ ์บ์ ์ถ์ํ
- Caffeine โญ 16k โ ๊ณ ์ฑ๋ฅ ์บ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- Hazelcast โญ 6k โ ๋ถ์ฐ ์ธ๋ฉ๋ชจ๋ฆฌ ๊ทธ๋ฆฌ๋
- Ehcache โญ 2k โ Java ์บ์ฑ
์ค์ผ์ค๋ง
- Spring Scheduler โ ์์ ์ค์ผ์ค๋ง
- Quartz โญ 6k โ ์์ ์ค์ผ์ค๋ฌ
- ShedLock โญ 4k โ ๋ถ์ฐ ์ ๊ธ
๐ ๋ณด์
์ธ์ฆ & ๊ถํ
- Spring Authorization Server โญ 3k โ OAuth 2.1 ์ธ์ฆ ์๋ฒ
- Keycloak โญ 22k โ ์คํ์์ค IAM
- JJWT โญ 10k โ Java JWT ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ณด์ ๋๊ตฌ
- OWASP Dependency Check โญ 6k โ ์์กด์ฑ ์ทจ์ฝ์ ๊ฒ์ฌ
- Spring Security Test โ ๋ณด์ ํ ์คํธ
๐งช ํ ์คํ
ํ ์คํธ ํ๋ ์์ํฌ
- Spring Boot Test โ ํตํฉ ํ ์คํธ
- MockMVC โ MVC ํ ์คํธ
- WebTestClient โ WebFlux ํ ์คํธ
- TestContainers โญ 8k โ ํตํฉ ํ ์คํธ์ฉ ์ปจํ ์ด๋
๋ชจํน & ํ ์คํธ ๋๊ตฌ
- Mockito โญ 15k โ ๋ชจํน ํ๋ ์์ํฌ
- AssertJ โญ 3k โ ์ ์ฐฝํ ์ด์ค์
- REST Assured โญ 7k โ REST API ํ ์คํธ
- WireMock โญ 7k โ HTTP ๋ชจํน
๐ ๋ชจ๋ํฐ๋ง & ๊ด์ฐฐ์ฑ
์ก์ถ์์ดํฐ & ๋ฉํธ๋ฆญ
- Spring Boot Actuator โ ์ด์ ์ค๋น ๊ธฐ๋ฅ
- Micrometer โญ 5k โ ์ ํ๋ฆฌ์ผ์ด์ ๋ฉํธ๋ฆญ
- Spring Cloud Sleuth โญ 2k โ ๋ถ์ฐ ์ถ์
APM ํตํฉ
- New Relic โญ 1k โ APM ์์ด์ ํธ
- Datadog โญ 600 โ ์ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- Elastic APM โญ 600 โ Elastic APM ์์ด์ ํธ
๐ ํ์ต ์๋ฃ
๊ณต์ ๋ฌธ์
- Spring Framework Documentation โ ๊ณต์ ๋ฌธ์
- Spring Guides โ ์ค์ต ๊ฐ์ด๋
- Spring Boot Reference โ Spring Boot ์ฐธ์กฐ
- Baeldung โ Spring ํํ ๋ฆฌ์ผ ์ฌ์ดํธ
์จ๋ผ์ธ ํ์ต
- Spring Academy โ ๊ณต์ ์จ๋ผ์ธ ๊ต์ก
- Spring Certified Professional โ ๊ณต์ ์ธ์ฆ
- Spring One โ ์ฐ๋ก ์ปจํผ๋ฐ์ค
๋์
- Spring in Action โ Manning
- Pro Spring 5 โ Apress
- Cloud Native Spring in Action โ Manning
์ปค๋ฎค๋ํฐ
- Spring Community โ ๊ณต์ ์ปค๋ฎค๋ํฐ
- r/SpringBoot โ Reddit ์ปค๋ฎค๋ํฐ
- Spring Korea โ ํ๊ตญ ์ฌ์ฉ์ ๊ทธ๋ฃน
๐ 2025 Highlights
์ฃผ์ ํธ๋ ๋
- Spring Native: GraalVM ๋ค์ดํฐ๋ธ ์ด๋ฏธ์ง ์ง์
- Virtual Threads: Java 21 ๊ฐ์ ์ค๋ ๋ ํตํฉ
- Declarative Clients: HTTP ์ธํฐํ์ด์ค ์ ์ธ์ ํด๋ผ์ด์ธํธ
- Problem Details: RFC 7807 ํ์ค ์๋ฌ ์๋ต
Spring Boot 3.x ์ ๊ธฐ๋ฅ
- Java 17+ ํ์: ์ต์ Java ๊ธฐ๋ฅ ํ์ฉ
- Jakarta EE 9+: javax์์ jakarta๋ก ๋ง์ด๊ทธ๋ ์ด์
- Observability: ํตํฉ ๊ด์ฐฐ์ฑ API
- AOT Processing: ๋น๋ ์์ ์ต์ ํ
Spring Framework 6.x
- HTTP Interface: ์ ์ธ์ HTTP ํด๋ผ์ด์ธํธ
- RFC 7807: ๋ฌธ์ ์ธ๋ถ์ฌํญ ํ์คํ
- Improved AOT: ํฅ์๋ ์ฌ์ ์ฒ๋ฆฌ
- Better Kotlin Support: Kotlin ์ฝ๋ฃจํด ๊ฐ์
ํ๊ตญ Spring ์ํ๊ณ
- ๋ค์ด๋ฒ: ๋๊ท๋ชจ Spring ๊ธฐ๋ฐ ์๋น์ค
- ์นด์นด์ค: Spring Cloud ๋ง์ดํฌ๋ก์๋น์ค
- ์ฟ ํก: Spring Boot ์ ์์๊ฑฐ๋ ํ๋ซํผ
- ๋ฐฐ๋ฌ์๋ฏผ์กฑ: Spring ๊ธฐ๋ฐ ๋ฐฐ๋ฌ ์๋น์ค
์ค๋ฌด ํ
- ํ๋กํ์ผ ๊ด๋ฆฌ: ํ๊ฒฝ๋ณ ์ค์ ๋ถ๋ฆฌ
- Configuration Properties: ํ์ ์์ ์ค์
- Lazy Initialization: ์์ ์๊ฐ ์ต์ ํ
- WebClient ์ฌ์ฉ: RestTemplate ๋์ ๋ฐ์ํ ํด๋ผ์ด์ธํธ
์ฝํ ์ธ ์ ๋ฐ์ดํธ ์์ฒญ์ ์์ฒญ ๊ฒ์ํ์ ์จ์ฃผ์ธ์