Runjob(런잡 프로젝트)/SpringBoot + Kotlin

[SpringBoot + Kotlin] 프로젝트 디렉토리 구조

맏리믓 2023. 4. 14. 15:43

들어가며

    - 모든 파일을 한 디렉토리에 넣어 관리 해도 프로그램을 구동 시키는데는 문제가 없다.

    - 하지만 계발이 계속 되고 후에 추가 보수를 할 때 위와 같은 방법은 수정해야 할 파일을 찾는데 어려움을 준다.

    - 따라서 각 파일은 기능 별로 다른 디렉토리에 보관하는 것이 계발을 보다 수월하게 해 준다.


디렉토리 구조

    - Controller : SpringBoot 의 "Controller" 역할을 수행하는 파일들을 모아 두며, 사용자의 요청에 따라 어떠한 메소드나 기능을 mapping 시켜 줄지 결정

    - Entity : DB 와 의 연결을 위해서 DB 에 쓰일 필드와 여러 엔티티간 연관관계를 정의 data class 를 만들어 저장

    - Repository : Entity 패키지 내에서 정의된 Entity 를 사용하기 위해 만든 인터페이스 들을 저장

    - Service : Repository와 다른 기능들을 이용해 DB 에 여러 명령들을 보내기 위한 기능들을 저장

    - Utils : 프로젝트에 두루 필요한 다양한 기능들을 저장

  위와 같은 기능별로 디렉토리를 나누어 파일을 저장 하기로 정의 하였다.