[Spring Boot] Bank App (4) - νŒ¨ν‚€μ§€ μ„€μ •

2024. 8. 13. 12:32Β·Spring boot
πŸ’‘ν•™μŠ΅ λͺ©ν‘œ
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
'Spring boot' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Spring Boot] REST API λž€
  • [Spring Boot] Bank App (5) - μ½”λ”© μ»¨λ²€μ…˜
  • [Spring Boot] Bank App (3) - λ””μžμΈ μ‹œμ•ˆ 확인
  • [Spring Boot] Bank App (2) - yml 파일 μ„€μ •ν•˜κΈ°
미둜910
미둜910
개발자λ₯Ό κΏˆκΎΈλŠ” 민경이의 기둝 λΈ”λ‘œκ·Έ
  • 미둜910
    개발 note
    미둜910
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기
      • μ„€μΉ˜ 메뉴얼
      • HTML
      • JAVA
        • Java 기초
        • Java μ‘μš©
        • 자료ꡬ쑰
        • HTTP
        • JSP ν”„λ‘œκ·Έλž˜λ°
      • MySQL
        • MySQL κΈ°λ³Έ
        • 1일 1쿼리
      • CSS
      • Spring boot
      • JS
        • κ²Œμ‹œνŒ λ§Œλ“€κΈ°
      • Git
      • Flutter
        • MVVM ν™œμš©
        • 심화 버전
        • 1일 1 Flutter
      • λ””μžμΈ νŒ¨ν„΄μ˜ ν™œμš©
      • error note
      • My Project
        • [μ‘Έμž‘] LLM 기반 νŠΉν—ˆ μœ μ‚¬λ„ 뢄석 μ‹œμŠ€ν…œ
        • λ„μ„œ 관리 ν”„λ‘œκ·Έλž¨ (final project)
        • amigo
        • 친ꡬ λ§€μΉ­ ν”„λ‘œκ·Έλž¨(FMP)
      • Python
      • λ”₯λŸ¬λ‹
      • λ„€νŠΈμ›Œν¬
      • 곡뢀 λ…ΈνŠΈ
        • μ—°κ΅¬νšŒ
        • 자료ꡬ쑰
      • 기타
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • 전체보기
    • -----------------------
  • 링크

  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    Flutter
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.6
미둜910
[Spring Boot] Bank App (4) - νŒ¨ν‚€μ§€ μ„€μ •
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”