Home
>
Spring
>
π[Spring] `@SpringBootApplication` μ λν
μ΄μ
κ³Ό μλ²(Server)
Spring
Framework
π[Spring] @SpringBootApplication
μ λν
μ΄μ
κ³Ό μλ²(Server).
1οΈβ£ @SpringBootApplication
μ λν
μ΄μ
.
-
@SpringBootApplication
μ λν
μ΄μ
μ Spring Boot μ ν리μΌμ΄μ
μμ μμ£Ό μ¬μ©λλ ν΅μ¬ μ λν
μ΄μ
μΌλ‘, μ¬λ¬ κ°μ§ κΈ°λ₯μ κ²°ν©ν λ³΅ν© μ λν
μ΄μ
μ
λλ€.
- μ΄λ₯Ό ν΅ν΄ Spring Boot μ ν리μΌμ΄μ
μ΄ μλμΌλ‘ μ€μ λκ³ μ€νλ©λλ€.
1. @SpringBootApplication
μΈ κ°μ§ μ€μν μ λν
μ΄μ
κ²°ν©.
-
1.
@SpringBootConfiguration
- Springμ
@Configuration
κ³Ό λμΌν κΈ°λ₯μ μ 곡νλ©°, μ΄λ₯Ό ν΅ν΄ Spring 컨ν
μ€νΈμμ μ€μ ν΄λμ€λ‘ μΈμλ©λλ€.
-
2.
@EnableAutoConfiguration
- Spring Bootμ μλ μ€μ κΈ°λ₯μ νμ±νν©λλ€.
- μ΄ κΈ°λ₯μ Spring Bootκ° ν΄λμ€ν¨μ€μ μλ λΌμ΄λΈλ¬λ¦¬λ€μ λ°νμΌλ‘ μλμΌλ‘ μ€μ μ μ μ©νμ¬ κ°λ°μκ° μΌμΌμ΄ μ€μ νμ§ μμλ λλλ‘ λμμ€λλ€.
-
3.
@ComponentScan
- νμ¬ ν¨ν€μ§μ κ·Έ νμ ν¨ν€μ§μμ Springμ μ»΄ν¬λνΈλ€μ μλμΌλ‘ μ€μΊνκ³ λ±λ‘ν©λλ€.
- μ¦,
@Controller
, @Service
, @Repository
λ±μ λΉλ€μ΄ μλμΌλ‘ Spring 컨ν
μ€νΈμ λ±λ‘λ©λλ€.
- μ΄ μ λν
μ΄μ
μ Spring Boot μ ν리μΌμ΄μ
μ μ§μ
μ μ μ€μ νλ λ©μΈ ν΄λμ€μ μ£Όλ‘ λΆμ΅λλ€.
- μ΄λ‘ μΈν΄ μ ν리μΌμ΄μ
μ΄ μλμΌλ‘ μ€μ λκ³ , μ€νλ μ μλ νκ²½μ΄ κ°μΆ°μ§λλ€.
- κ°λ¨ν λ§ν΄,
@SpringBootApplication
μ ν΅ν΄ κ°λ°μλ μ΅μνμ μ€μ μΌλ‘λ Spring Boot μ ν리μΌμ΄μ
μ μμνκ³ κ΅¬λν μ μμ΅λλ€.
2οΈβ£ μλ²(Server)λ 무μμΈκ°μ?
- μλ²(Server)λ λ€νΈμν¬ μμμ λ€λ₯Έ μ»΄ν¨ν°(ν΄λΌμ΄μΈνΈ)μκ² λ°μ΄ν°λ₯Ό μ 곡νκ±°λ, μμ²λ μλΉμ€λ₯Ό μ²λ¦¬νλ μ»΄ν¨ν° μμ€ν
λλ μννΈμ¨μ΄λ₯Ό λ§ν©λλ€.
- μλ²λ ν΄λΌμ΄μΈνΈμ μμ²μ μμ νκ³ , κ·Έ μμ²μ λ§λ λ°μ΄ν°λ₯Ό μ²λ¦¬νκ±°λ λ°ννλ μν μ ν©λλ€.
- μλ²λ μ¬λ¬ κ°μ§ μ νμ΄ μμΌλ©°, κ·Έ μν μ λ°λΌ λ€μν κΈ°λ₯μ μνν©λλ€.
1. μλ²μ κΈ°λ³Έ κΈ°λ₯.
-
μμ² μμ .
- μλ²λ ν΄λΌμ΄μΈνΈ(μΉ λΈλΌμ°μ , λͺ¨λ°μΌ μ± λ±)λ‘λΆν° μμ²μ λ°μ΅λλ€.
- μ΄ μμ²μ HTTP, FTP, λλ λ€λ₯Έ νλ‘ν μ½μ ν΅ν΄ μ΄λ£¨μ΄μ§ μ μμ΅λλ€.
-
λ°μ΄ν° μ²λ¦¬.
- μλ²λ ν΄λΌμ΄μΈνΈμ μμ²μ λ°λΌ λ°μ΄ν°λ₯Ό κ²μ, μ²λ¦¬ λλ κ³μ°ν©λλ€.
- μλ₯Ό λ€μ΄, λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ μ 보λ₯Ό μ‘°ννκ±°λ, νμΌμ μ
λ‘λνκ±°λ λ€μ΄λ‘λνλ κΈ°λ₯μ μνν©λλ€.
-
μλ΅ μ μ‘.
- μμ² μ²λ¦¬ ν, μλ²λ ν΄λΌμ΄μΈνΈμκ² κ·Έ κ²°κ³Όλ₯Ό μλ΅μΌλ‘ μ μ‘ν©λλ€.
- μλ₯Ό λ€μ΄ μΉ μλ²λ HTML νμ΄μ§λ₯Ό λ°ννκ±°λ, API μλ²λ JSON νμμ λ°μ΄ν°λ₯Ό λ°νν μ μμ΅λλ€.
2. μλ²μ μ ν.
-
μΉ μλ².
- μΉ νμ΄μ§(HTML, CSS, JavaScript)λ₯Ό ν΄λΌμ΄μΈνΈμ μ 곡νλ μλ²μ
λλ€.
- λνμ μΈ μλ‘ Apache HTTP Server, Nginx λ±μ΄ μμ΅λλ€.
-
λ°μ΄ν°λ² μ΄μ€ μλ².
- λ°μ΄ν°λ₯Ό μ μ₯νκ³ κ΄λ¦¬νλ©°, ν΄λΌμ΄μΈνΈμ λ°μ΄ν° μμ²μ μ²λ¦¬νλ μλ²μ
λλ€.
- MySQL, PostgreSQL, Oracle λ±μ΄ μ΄μ ν΄λΉν©λλ€.
-
νμΌ μλ².
- νμΌμ μ μ₯νκ³ μ΄λ₯Ό ν΄λΌμ΄μΈνΈμ μ 곡νλ μλ²μ
λλ€.
- μ£Όλ‘ FTP(File Transfer Protocol) μλ²κ° μ΄ μν μ ν©λλ€.
-
μ ν리μΌμ΄μ
μλ².
- ν΄λΌμ΄μΈνΈκ° μμ²ν λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νλ μλ²μ
λλ€.
- Spring Bootλ Django κ°μ νλ μμν¬λ₯Ό μ¬μ©νμ¬ μΉ μ ν리μΌμ΄μ
μ ꡬλνλ μλ²κ° μ΄μ ν΄λΉν©λλ€.
-
λ©μΌ μλ².
- μ΄λ©μΌμ μ‘μμ νλ μλ²λ‘, SMTP, POP3, IMAP λ±μ νλ‘ν μ½μ μ¬μ©ν©λλ€.
3. μλ²μ νΉμ§.
-
νμ μΌμ Έ μμ.
- μλ²λ λ³΄ν΅ 24μκ° λ΄λ΄ μλνμ¬ ν΄λΌμ΄μΈνΈ μμ²μ μ μνκ² μλ΅ν μ μμ΄μΌ ν©λλ€.
-
λ©ν°νμ€νΉ.
- μλ²λ λμμ μ¬λ¬ ν΄λΌμ΄μΈνΈμ μμ²μ μ²λ¦¬ν μ μμ΄μΌ νλ©°, μ΄λ₯Ό μν΄ λ©ν°μ€λ λλ λΉλκΈ° μ²λ¦¬ κΈ°μ μ μ¬μ©ν©λλ€.
-
보μ.
- μλ²λ λ―Όκ°ν λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μκΈ° λλ¬Έμ 보μμ΄ μ€μν©λλ€.
- SSL/TLSλ₯Ό ν΅ν μνΈν, μΈμ¦ λ° κΆν κ΄λ¦¬ λ±μ΄ νμν©λλ€.
- μλ²λ μΈν°λ· μλΉμ€(μΉ μ¬μ΄νΈ, ν΄λΌμ°λ μ μ₯μ, μ΄λ©μΌ λ±)λ₯Ό μ 곡νλ ν΅μ¬μ μΈ μμ€ν
μ΄λ©°, ν΄λΌμ΄μΈνΈ-μλ² κ΅¬μ‘°λ μ€λλ λλΆλΆμ λ€νΈμν¬ κΈ°λ° μ ν리μΌμ΄μ
μμ μ¬μ©λλ κΈ°λ³Έμ μΈ κ΅¬μ‘°μ
λλ€.