β Intro.
Springκ³Ό Spring Bootλ μλ‘ λ°μ ν κ΄κ³μ μμ§λ§, λͺ©μ κ³Ό μ¬μ© λ°©μ, κ°λ° νΈμμ±μμ ν° μ°¨μ΄κ° μμ΅λλ€.
μλμ ꡬ쑰μ μΌλ‘ μ°¨μ΄μ μ μ 리ν΄λ릴κ²μ π
β μμ½: ν μ€ μ°¨μ΄
| κ΅¬λΆ | μ€λͺ |
|---|---|
| Spring | μμν νλ μμν¬, μ μ°νμ§λ§ μ€μ μ΄ λ§μ |
| Spring Boot | Springμ μ½κ² μ°κΈ° μν μλ μ€μ κΈ°λ°μ λꡬ μΈνΈ |
β 1. Spring Frameworkλ?

- μλ° κΈ°λ° μΉ μ ν리μΌμ΄μ κ°λ°μ μν μ€νμμ€ νλ μμν¬
- ν΅μ¬ κ°λ : IoC (μ μ΄μ μμ ), DI (μμ‘΄μ± μ£Όμ ), AOP (κ΄μ μ§ν₯ νλ‘κ·Έλλ°)
- μ¬μ© μμλ XML λλ μλ° μ½λλ‘ μ§μ λ§μ μ€μ μ ν΄μΌ ν¨
<!-- Spring (μ ν΅μ ) λ°©μ μμ -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">...</bean>
β 2. Spring Bootλ?

- Springμ λ μ½κ³ λΉ λ₯΄κ² κ°λ°νκΈ° μν΄ λμ¨ νμ₯ λꡬμ λλ€.
- μλ μ€μ (AutoConfiguration), λ΄μ₯ μλ²(Embedded Tomcat), μ€νν°(Starter)λ±μ ν΅ν΄ μ€μ μμ΄λ λ°λ‘ μ€ν κ°λ₯ν μ€νλ§ νκ²½μ μ 곡ν©λλ€.
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
β 3. μ°¨μ΄μ λΉκ΅ν
| νλͺ© | Spring | Spring Boot |
|---|---|---|
| π‘ λͺ©μ | μ μ°νκ³ νμ₯ κ°λ₯ν νλ μμν¬ μ 곡 | μ€μ μμ΄ λΉ λ₯Έ κ°λ° νκ²½ μ 곡 |
| βοΈ μ€μ | μλ μ€μ λ§μ (XML, JavaConfig λ±) | μλ μ€μ μ€μ¬ (AutoConfiguration) |
| π μ€ν | ν°μΊ£ μ€μΉ νμ | λ΄μ₯ ν°μΊ£μΌλ‘ λ¨λ μ€ν κ°λ₯ (java -jar) |
| π¦ μμ‘΄μ± | μ§μ κ΄λ¦¬ | Starterλ‘ κ°λ¨ν κ΄λ¦¬ (μ: spring-boot-starter-web) |
| π οΈ νλ‘μ νΈ κ΅¬μ‘° | ꡬ쑰 μ€κ³λΆν° μ§μ κ΅¬μ± | κ΄λ‘ κΈ°λ° κΈ°λ³Έ ꡬ쑰 μ 곡 |
| π§ͺ ν μ€νΈ νκ²½ | 볡μ‘νκ² κ΅¬μ± | λ΄μ₯λ ν μ€νΈ λꡬ μ½κ² μ¬μ© κ°λ₯ |
| π μμ°μ± | μ΄λ° μ§μ μ₯λ²½ μμ | λ§€μ° λμ (κ°νΈν μ€μ , λΉ λ₯Έ μ€ν) |
β κ²°λ‘ : μΈμ μ¬μ©νλ?
| μν© | μΆμ² |
|---|---|
| μ μ°ν μν€ν μ² νμ, λΌμ΄λΈλ¬λ¦¬ μ§μ μ μ΄ | πΉ Spring (Core Framework) |
| λΉ λ₯΄κ² μΉ μλΉμ€ μμ, μ€λ¬΄ μμ°μ± μ€μ | πΈ Spring Boot (νλ κ°λ°μ νμ€) |
π― μ΅μ’ μμ½
Spring Bootλ Spring Frameworkλ₯Ό κΈ°λ°μΌλ‘ κ°λ°μ λ μ½κ² λ§λ€μ΄μ£Όλ βμλν λꡬ μΈνΈβμ λλ€.
λ°λΌμ Spring Bootλ₯Ό μ¬μ©νλ©΄ Springμ λ ν¨μ¨μ μ΄κ³ κ°νΈνκ² νμ©ν μ μμ΅λλ€.