π‘νμ΅ λͺ©ν
1. ν¨ν€μ§ λ° ν΄λ ꡬ쑰 μ‘κΈ°
ν¨ν€μ§(package)λ κ΄λ ¨λ ν΄λμ€, μΈν°νμ΄μ€, μλΈν¨ν€μ§ λ±μ κ·Έλ£Ήννμ¬ μ 리νλ λ°©λ²μ λλ€. Javaμμ ν¨ν€μ§λ λ€μμ€νμ΄μ€λ₯Ό μ 곡νμ¬ ν΄λμ€ μ΄λ¦ κ°μ μΆ©λμ λ°©μ§νκ³ , λ³΄λ€ μ²΄κ³μ μΌλ‘ μ½λλ₯Ό μ‘°μ§νν μ μκ² ν©λλ€. ν¨ν€μ§λ 물리μ μΌλ‘ νμΌ μμ€ν μ λλ ν 리μ ν΄λΉνλ©°, ν¨ν€μ§ λ΄μ ν΄λμ€λ μΈν°νμ΄μ€λ μ΄ λλ ν 리 λ΄μ μμΉν©λλ€. μ¦, μ°λ¦¬λ μ£Ό μΈμ΄ νμΌλ€μ λͺ¨μ λλ ν΄λλ₯Ό ν¨ν€μ§λΌ λΆλ₯΄κ² μ΅λλ€.
Spring boot WEB MVC νλ μ μν¬μμλ ..
- μ μ μμμ λλ ν¨ν€μ§css, js, image νμΌλ±μ λ£μ΄ λ μ μμ΅λλ€.
- src/main/resource/static(μ μ μμ λ£¨νΈ ν΄λ)
- λμ μμ(JSP νμ©)
- μ΄ μμ μμλ webapp/WEB-INF(보μν΄λ)/view/ νμμΌλ‘ μμ±ν μμ μ λλ€.
- μλ° μ½λ
- controller, service, dto, repository/model, handler … λ±μΌλ‘ μμ±ν μμ μ λλ€.
π‘ MVC ν¨ν΄μ λν κ°λ μ 리
MVC(λͺ¨λΈ-λ·°-컨νΈλ‘€λ¬) ν¨ν΄μ μννΈμ¨μ΄ λμμΈ λ° μννΈμ¨μ΄ μν€ν μ² ν¨ν΄ μ€ νλλ‘, μ£Όλ‘ μΉ μ ν리μΌμ΄μ λ° μ¬μ©μ μΈν°νμ΄μ€(UI) κ°λ°μμ λ§μ΄ μ¬μ©λ©λλ€. μ΄ ν¨ν΄μ μ ν리μΌμ΄μ μ μΈ κ°μ§ μ£Όμ κ΅¬μ± μμλ‘ λλμ΄ κ΄λ¦¬νκ³ , κ° κ΅¬μ± μμ κ°μ μνΈ μμ©μ μ‘°μ§ννλ λ° μ¬μ©λ©λλ€.
λͺ¨λΈ(Model): λͺ¨λΈμ μ ν리μΌμ΄μ μ λΉμ¦λμ€ λ‘μ§, λ°μ΄ν° λ° μνλ₯Ό λνλ λλ€. λͺ¨λΈμ λ°μ΄ν°λ² μ΄μ€μ μνΈ μμ©νκ±°λ μ ν리μΌμ΄μ λ΄λΆμμ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ©°, λ°μ΄ν°μ μνλ₯Ό μ μ§νκ³ κ΄λ¦¬νλ μν μ ν©λλ€. λͺ¨λΈμ μ£Όλ‘ λ°μ΄ν°λ₯Ό λ€λ£¨κ³ λΉμ¦λμ€ λ Όλ¦¬λ₯Ό μ μνλλ° μ¬μ©λ©λλ€.
λ·°(View): λ·°λ μ¬μ©μ μΈν°νμ΄μ€(UI)λ₯Ό λνλ λλ€. μ΄κ²μ μ¬μ©μμκ² μ 보λ₯Ό νμνκ³ λͺ¨λΈμμ κ°μ Έμ¨ λ°μ΄ν°λ₯Ό μ¬μ©μμκ² μκ°μ μΌλ‘ νμνλ μν μ ν©λλ€. λ·°λ μ¬μ©μμ μνΈ μμ©νκ³ μ¬μ©μ μ λ ₯μ μ²λ¦¬νμ§ μμΌλ©°, λ¨μν λ°μ΄ν°λ₯Ό νμνλ μν μ ν©λλ€.
컨νΈλ‘€λ¬(Controller): 컨νΈλ‘€λ¬λ λͺ¨λΈκ³Ό λ·° κ°μ μνΈ μμ©μ μ‘°μ νλ μν μ ν©λλ€. μ¬μ©μμ μ λ ₯μ μ²λ¦¬νκ³ λͺ¨λΈμ μ λ°μ΄νΈνλ©°, μ΄νμ λͺ¨λΈμ λ³κ²½ λ΄μ©μ λ°μνμ¬ λ·°λ₯Ό κ°±μ ν©λλ€. 컨νΈλ‘€λ¬λ μ¬μ©μμ μνΈ μμ©νκ³ μ¬μ©μ μ λ ₯μ ν΄μνμ¬ λͺ¨λΈ λ° λ·°μ λν μ μ ν λμμ μνν©λλ€.
MVC ν¨ν΄μ μννΈμ¨μ΄λ₯Ό λΆλ¦¬νκ³ λͺ¨λννμ¬ μ μ§ λ³΄μμ±μ λμ΄κ³ μ½λμ μ¬μ¬μ©μ±μ μ¦κ°μν€λ λ° λμμ΄ λ©λλ€. λν μ¬λ¬ κ°λ°μλ€μ΄ λμμ μμ νλ λκ·λͺ¨ μ ν리μΌμ΄μ μμ ν μμ μ κ΄λ¦¬νκ³ μν μ λΆλ΄νκΈ° μ½κ² λ§λ€μ΄μ€λλ€. μ΄ ν¨ν΄μ μ½λμ κ°λ μ±μ ν₯μμν€κ³ λλ²κΉ μ μ©μ΄νκ² λ§λ€μ΄ κ°λ° κ³Όμ μ λ¨μννλ λ° λμμ΄ λ©λλ€.
μ£Όμ : MVVM, MVP, VIPER λ± λ€μν ν¨ν΄μ΄ μ‘΄μ¬ν©λλ€. νμ§λ§ λκ° λ μ’μ ν¨ν΄μ΄λΌλ κ°λ μ
μμ΅λλ€. λ§λ€κ³ μ νλ νλ‘μ νΈμ μ±κ²© λ° μμμ λ§κ² μ νν΄μ μ¬μ©νλ€κ³ μ΄ν΄ν΄ λ΄ μλ€.
ν΄λ λ° ν¨ν€μ§ νμΌ λ³΄λ λ°©λ² μ νν΄λ³΄κΈ°
μλ μ΄λ―Έμ§λ₯Ό νμΈνκ³ λμΌν ν¨ν€μ§ λ° ν΄λ λ° νμΌμ μμ±ν΄ λ΄ μλ€. (λκΈ νμΈ)
π‘ κΈ°λ³Έμ μΌλ‘ gitμ λΉ λλ ν 리λ₯Ό μΆμ νμ§ μμ΅λλ€
.gitkeep μ²λΌ μ¨κΉ νμΌμ μμ±ν΄μ μ½κ° κΌΌμλ₯Ό λΆλ € λΉμ΄ μλ ν΄λ λ° ν¨ν€μ§λ₯Ό commit λ° push ν΄ λ΄ μλ€.
'Spring boot' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Spring Boot] REST API λ (0) | 2024.08.13 |
---|---|
[Spring Boot] Bank App (5) - μ½λ© 컨벀μ (0) | 2024.08.13 |
[Spring Boot] Bank App (3) - λμμΈ μμ νμΈ (0) | 2024.08.13 |
[Spring Boot] Bank App (2) - yml νμΌ μ€μ νκΈ° (0) | 2024.08.13 |
[Spring Boot] Bank App (1) - νλ‘μ νΈ μ€μ (2) | 2024.08.12 |