Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

햄발

Bank App 만들기 - (deployment) 패키지 설정 본문

Spring boot

Bank App 만들기 - (deployment) 패키지 설정

햄발자 2024. 9. 26. 17:06

 

 

학습 목표

 

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 패턴에 대한 개념 정리

VC(모델-뷰-컨트롤러) 패턴은 소프트웨어 디자인 및 소프트웨어 아키텍처 패턴 중 하나로, 주로 웹 애플리케이션 및 사용자 인터페이스(UI) 개발에서 많이 사용됩니다. 이 패턴은 애플리케이션을 세 가지 주요 구성 요소로 나누어 관리하고, 각 구성 요소 간의 상호 작용을 조직화하는 데 사용됩니다.

  1. 모델(Model)
    모델은 애플리케이션의 비즈니스 로직, 데이터 및 상태를 나타냅니다.

    모델은 데이터베이스와 상호 작용하거나 애플리케이션 내부에서 데이터를 처리하며, 데이터의 상태를 유지하고 관리하는 역할을 합니다. 모델은 주로 데이터를 다루고 비즈니스 논리를 정의하는데 사용됩니다.

  2. 뷰(View)
    뷰는 사용자 인터페이스(UI)를 나타냅니다.

    이것은 사용자에게 정보를 표시하고 모델에서 가져온 데이터를 사용자에게 시각적으로 표시하는 역할을 합니다.
    뷰는 사용자와 상호 작용하고 사용자 입력을 처리하지 않으며, 단순히 데이터를 표시하는 역할을 합니다.

  3. 컨트롤러(Controller)
    컨트롤러는 모델과 뷰 간의 상호 작용을 조정하는 역할을 합니다.

    사용자의 입력을 처리하고 모델을 업데이트하며, 이후에 모델의 변경 내용을 반영하여 뷰를 갱신합니다.
    컨트롤러는 사용자와 상호 작용하고 사용자 입력을 해석하여 모델 및 뷰에 대한 적절한 동작을 수행합니다.

MVC 패턴은 소프트웨어를 분리하고 모듈화하여 유지 보수성을 높이고 코드의 재사용성을 증가시키는 데 도움이 됩니다. 또한 여러 개발자들이 동시에 작업하는 대규모 애플리케이션에서 팀 작업을 관리하고 역할을 분담하기 쉽게 만들어줍니다. 이 패턴은 코드의 가독성을 향상시키고 디버깅을 용이하게 만들어 개발 과정을 단순화하는 데 도움이 됩니다.

 

주의 : MVVM, MVP, VIPER 등 다양한 패턴이 존재합니다. 하지만 뭐가 더 좋은 패턴이라는 개념은

없습니다. 만들고자 하는 프로젝트의 성격 및 자원에 맞게 선택해서 사용한다고 이해해 봅시다.

 

 

폴더 및 패키지 파일 보는 방법 선택해보기

 

 

아래 이미지를 확인하고 동일한 패키지 및 폴더 및 파일을 생성해 봅시다. (댓글 확인)

 

 

기본적으로 git은 빈 디렉토리를 추적 하지 않습니다 

.gitkeep 처럼 숨김 파일을 생성해서 약간 꼼수를 부려 비어 있는 폴더 및 패키지를 
commit 및 push 해 봅시다.