Backend Ddevelopment
Spring
Spring Boot
Server
Framework
β
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μ λ ν¨μ¨μ μ΄κ³ κ°νΈνκ² νμ©ν μ μμ΅λλ€.