[JAVA][SPRING] project 구조

더지두·2023년 2월 1일
0

backend

목록 보기
1/2

mvc 패턴 project 구조

현재 진행중인 프로젝트의 디렉토리 구조를 설명하려고 합니다.

[version]

java : 1.8
spring : 4.3.11

package presentation은 Hierarchical을 사용하고 있어
java 디렉토리와 resource 디렉토리로 구분되어 보입니다.

java 패키지

java디렉토리에는 annotation, api, configuration, enums, exception, lib, model, util 디렉토리로 구분되어 있습니다.

annotation

spring에서 제공하는 annotation이 아닌 개발한 annotation을 모아두는 곳입니다.
LoginNotRequire annotation을 통해 인증을 하지 않고 접근할 수 있는 class를 지정할 수 있게끔 개발하였습니다.

api


controller, service, dao, repository 등의 실제 서비스 class들의 모음입니다.
agent, 외부 solution, 관리자, 모바일 서비스, 사용자가 각각 접근하는 controller를 구분하게끔 패키지 구성을 하였습니다.
dto는 db model을 response와 request로 구분하여 class를 구성하였습니다.(lombok 라이브러리 사용)

configurations

사용하는 라이브러리들의 config파일이 모여있는 패키지입니다.
redis, swagger, security config 등의 라이브러리의 환경설정 파일이 있습니다.

repository

mybatis mapper와 연결하는 repository파일들이 모여있는 패키지입니다.

service

controller와 repository 사이 모든 프로세스를 수행하는 service들이 모여있는 패키지입니다.

resources 패키지


다국어(i18n), mybatis xml, application.yml 등 각종 설정파일 및 db query가 모여있는 디렉토리입니다.

i18n

다국어 처리 및 공통 사용을 위한 properties 파일이 모여있습니다.

repository

repository에 mapping된 실제 query 파일이 모여있습니다.

application.yml

maven에 환경설정 파일입니다.

위처럼 구성하여 협업 및 관리가 용이하도록 구성했습니다.

profile
풀스택 개발자를 꿈꾸는

0개의 댓글