프로젝트 구조 표준 정의서
다양한 X2BEE 프로젝트와 하위 패키지들의 구조를 파악하는 데 필요한 핵심 정보를 제공합니다.
프로젝트 개발이 보다 효율적으로 작업될 수 있도록 지원하기 위해 각 프로젝트와 패키지 명칭과 설명 그리고 구조에 대해 상세히 설명하고 있습니다.
Application Service 구성도
프로젝트 명칭 및 설명
프로젝트명 | 설명 |
---|---|
x2bee-fo | Store Front 프로그램 프로젝트(Mobile, PC 구분없이 반응형으로 개발) |
x2bee-gw | Store Front 프로그램 api gateway |
x2bee-api-member | 고객 프로그램 api 프로젝트 |
x2bee-api-order | 주문 프로그램 api 프로젝트 |
x2bee-api-goods | 상품 프로그램 api 프로젝트 |
x2bee-api-display | 전시 프로그램 api 프로젝트 |
x2bee-api-event | 이벤트 프로그램 api 프로젝트 |
x2bee-api-bo | 관리자/고객센터 프로그램 용 api 프로젝트 |
x2bee-api-common | 공통 프로그램 api 프로젝트 |
x2bee-bo | 관리자 BackOffice Front 프로젝트(Mobile, PC 구분없이 반응형으로 개발) |
x2bee-batch-mbod | 회원/주문 배치 프로그램 프로젝트 |
x2bee-batch-gddp | 상품/전시 배치 프로그램 프로젝트 |
x2bee-common | 공통클래스 프로젝트 이 프로젝트는 기본 클래스와 공용 유틸리티 클래스 등을 포함하며, 엔터티/DTO 클래스는 각각의 개별 프로젝트에서 관리됩니다. |
x2bee-nest-search | 검색엔진 프로젝트 |
프로젝트 패키지 구조
x2bee-common
프레임워크 공통 클래스 패키지 : 프로젝트 공통 클래스, 유틸 클래스, 커스텀 어노테이션, 예외처리, DB관련 속성, 보안 등 포함
API 관련 비즈니스 로직 클래스 패키지 : Controller, Service, Dao, Entity, repository 클래스
프레임워크 관련 로직 클래스 패키지 : advice, aop, config, security 클래스
설정 관련 로직 클래스 패키지 : X2beeApiApplication, pom.xml 등 프로젝트 관련 설정 클래스
/src/main/java | 자바 소스 | |||
| com.x2bee.common | 패키지 네임스페이스 | ||
| base | base | ||
| advice | global responseBodyAdvice 클래스 | ||
annotation | 어노테이션 정의 | |||
aop | 사이트, mybatis, db 설정 aop | |||
bizmessages | ncp message 전송 클래스 | |||
constant | 상수정의 | |||
context | Spring application context 편의 클래스 | |||
encrypt | 암복호화 처리 클래스 | |||
entity | 공통 엔티티 Bean | |||
exception | exception 정의 | |||
filter | servlet request filter 클래스 | |||
formatter | datatype format Convert 클래스 | |||
interceptor | Controller Interceptor 클래스 | |||
mail 전송 클래스 | ||||
masking | masking 처리 관련 클래스 | |||
messageconverter | json message convert 처리 클래스 | |||
mybatis | mybatis 클래스 | |||
properties | properties 처리 클래스 | |||
propertyeditor | Grid String to Timestamp 클래스 | |||
redis | redis 클래스 | |||
rest | rest api 호출을 위한 편의 클래스 | |||
routingdatasource | routingDataSource 클래스 | |||
service | 불용어 처리 클래스 | |||
token | 인증토큰 처리 클래스 | |||
tree | list를 tree 변환 클래스 | |||
upload | 파일 업로드 클래스 | |||
util | 편의 클래스 정의 | |||
xss | xss 처리 클래스 |
x2bee-api.{msa명}
java 폴더 구조
/src/main/java | 자바 소스 | |||||
| com.x2bee.api.{msa} | 패키지 네임스페이스 | ||||
| base | 공통 | ||||
| advice | Spring controller advice 클래스 | ||||
aop | 서비스 공통 aspect 설정 클래스 | |||||
config | Spring config bean, security 설정 | |||||
filter | Spring Filter 클래스 | |||||
utils | 편의 클래스 정의 | |||||
app | 어플리케이션 클래스 | |||||
| controller | @Controller | ||||
| 모듈명 | 각 모듈 별 @Controller | ||||
service | @Service | |||||
| 모듈명 | 각 모듈 별 @Service | ||||
repository | @Repository (* Mybatis Mapper 이용) | |||||
| {dbname}rodb | Read Only DB Repository | ||||
| 모듈명 | 각 모듈 별 @Repository | ||||
{dbname}rwdb | Read Write Repository | |||||
| 모듈명 | 각 모듈 별 @Repository | ||||
dto | 파라미터/응답데이터/DB조회데이터용 dto 정의 | |||||
| request | 요청 dto 정의 | ||||
| 모듈명 | 각 모듈 별 dto | ||||
response | 응답 dto 정의 | |||||
| 모듈명 | 각 모듈 별 dto | ||||
entity | DB 등록/수정/삭제용 entity Bean 정의 | |||||
constant | 상수정의 | |||||
enums | enum 파일 |
resource 폴더 구조
/src/main/resource |
| |||
| config | {MSA} 설정 파일 | ||
mapper | Mybatis Mapper (.xml) 파일 | |||
| {dbname}rodb | Read Only (Replica) Database 쿼리 파일 | ||
| 모듈명 | 모듈별 mapper 파일 | ||
{dbname}rwdb | Read Write (Master) Database 쿼리 파일 | |||
| 모듈명 | 모듈별 mapper 파일 | ||
templates |
| |||
| Email Html 템플릿 파일(Api Common 프로젝트) | |||
message | 다국어 처리 메시지 정의 파일 | |||
| 모듈명 | 모듈별 message 파일 |
x2bee-api-bo
java 폴더 구조
/src/main/java | 자바 소스 | |||||
| com.x2bee.bo.api | 패키지 네임스페이스 | ||||
| base | 공통 | ||||
| advice | Spring controller advice 클래스 | ||||
annotation | 어노테이션 정의 | |||||
aop | 서비스 공통 aspect 설정 클래스 | |||||
config | Spring config bean, security 설정 | |||||
decorator | TaskDecorator 클래스 | |||||
filter | Spring Filter 클래스 | |||||
interceptor | Controller Interceptor 클래스 | |||||
masking | masking 처리 관련 클래스 | |||||
properties | properties 처리 클래스 | |||||
repository | 공통 Code Repository | |||||
util | 편의 클래스 정의 | |||||
app | 어플리케이션 클래스 | |||||
| controller | @Controller | ||||
| 모듈명 | 각 모듈 별 @Controller | ||||
service | @Service | |||||
| 모듈명 | 각 모듈 별 @Service | ||||
repository | @Repository (* Mybatis Mapper 이용) | |||||
| orderrodb | 회원/주문 DB Read Only Repository | ||||
| 모듈명 | 각 모듈 별 @Repository | ||||
orderrwdb | 회원/주문 DB Read Write Repository | |||||
| 모듈명 | 각 모듈 별 @Repository | ||||
displayrodb | 상품/전시 DB Read Only Repository | |||||
| 모듈명 | 각 모듈 별 @Repository | ||||
displayrwdb | 상품/전시 DB Read Write Repository | |||||
| 모듈명 | 각 모듈 별 @Repository | ||||
eventrodb | 이벤트 DB Read Only Repository | |||||
| 모듈명 | 각 모듈 별 @Repository | ||||
eventrwdb | 이벤트 DB Read Write Repository | |||||
| 모듈명 | 각 모듈 별 @Repository | ||||
dto | 요청파라미터/응답데이터/DB조회데이터용 dto 정의 | |||||
| request | 요청 dto 정의 | ||||
| 모듈명 | 각 모듈 별 dto | ||||
response | 응답 dto 정의 | |||||
| 모듈명 | 각 모듈 별 dto | ||||
entity | DB 등록/수정/삭제용 entity Bean 정의 | |||||
constant | 상수정의 | |||||
enums | enum 파일 |
resource 폴더 구조
/src/main/resource |
| |||
| config | 설정 파일 | ||
mapper | Mybatis Mapper (.xml) 파일 | |||
| orderrodb | 회원/주문 DB Read Only (Replica) 쿼리 파일 | ||
| 모듈명 | 모듈별 mapper 파일 | ||
orderrwdb | 회원/주문 Read Write (Master) Database 쿼리 파일 | |||
| 모듈명 | 모듈별 mapper 파일 | ||
displayrodb | 상품/전시 DB Read Only (Replica) 쿼리 파일 | |||
| 모듈별 mapper 파일 | 모듈별 mapper 파일 | ||
displayrwdb | 상품/전시 DB Read Write (Master) 쿼리 파일 | |||
| 모듈별 mapper 파일 | 모듈별 mapper 파일 | ||
eventrodb | 이벤트 DB Read Only (Replica) 쿼리 파일 | |||
| 모듈별 mapper 파일 | 모듈별 mapper 파일 | ||
eventrwdb | 이벤트 DB Read Write (Master) 쿼리 파일 | |||
| 모듈별 mapper 파일 | 모듈별 mapper 파일 | ||
message | 다국어 처리 메시지 정의 파일 | |||
| 모듈명 | 모듈별 message 파일 |
x2bee-batch-mbod/x2bee-batch-gddp
java 폴더 구조
/src/main/java | 자바 소스 | |||||
| com.x2bee.batch | 패키지 네임스페이스 | ||||
| base | 공통 | ||||
| aop | 서비스 공통 aspect 설정 클래스 | ||||
config | Spring config bean 설정 | |||||
context | Context Holder 클래스 | |||||
listener | Batch listener 설 | |||||
redismessage | redis 설 | |||||
util | 편의 클래스 정의 | |||||
app | 어플리케이션 클래스 | |||||
| controller | @Controller | ||||
| 모듈명 | 각 모듈 별 @Controller | ||||
jobconfig | 배치잡 정의 | |||||
| 각 모듈 별 배치잡 | 각 모듈 별 배치잡 | ||||
service | @Service | |||||
| 모듈명 | 각 모듈 별 @Service | ||||
repository | @Repository (* Mybatis Mapper 이용) | |||||
| {dbname}rodb | Read Only DB Repository | ||||
| 모듈명 | 각 모듈 별 @Repository | ||||
{dbname}rwdb | Read Write Repository | |||||
| 모듈명 | 각 모듈 별 @Repository | ||||
모듈명 | 각 모듈 별 @Repository | |||||
dto | DB 조회 데이터용 dto 정의 | |||||
| 모듈명 | 각 모듈 별 dto 정의 | ||||
entity | DB 등록/수정/삭제용 entity Bean 정의 | |||||
constant | 상수정의 | |||||
enums | enum 파일 |
resource 폴더 구조
/src/main/resource |
| |||
| config | 설정 파일 | ||
Mapper | Mybatis Mapper (.xml) 파일 | |||
| {dbname}rodb | DB Read Only (Replica) 쿼리 파일 | ||
| 모듈명 | 모듈별 mapper 파일 | ||
{dbname}rwdb | Read Write (Master) Database 쿼리 파일 | |||
| 모듈명 | 모듈별 mapper 파일 | ||
message | 다국어 처리 메시지 정의 파일 | |||
| 모듈명 | 모듈별 message 파일 |