Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GOF
- springboot
- spring scheduler
- mybatis
- HashMap
- pair
- 프로그래머스
- 프로젝트 구조
- thymeleaf
- maven
- list
- @Scheduled
- Spring Boot
- 코딩테스트
- 스프링부트
- 스프링 메일
- Collections
- Arrays
- 스프링
- Dependency
- java
- Spring
- 스프링 스케줄러
- 의존성관리
- Spring Mail
- vuejs #vue #js #프론트엔드 #nodejs #클라이언트사이드 #템플릿엔진
- C++
- codility
- 스프링 부트
- pom.xml
Archives
- Today
- Total
Rooted In Develop
Spring Boot 프로젝트 구조 본문
Spring Boot 프로젝트를 생성하며 많은 고민이 드는 것이 프로젝트 구조입니다.
어떻게해야 좋을지 모르겠다면, 이 글을 참고해주세요.
이 글에서는 크게 2가지의 구조를 설명드립니다.
1. 역할별로 묶기
- spring-boot-project
- src/main/java
- me.rooted
└ SpringBootProjectApplication.java
- me.rooted.config
└ SwaggerConfig.java
└ WebSecurityConfig.java
- me.rooted.controller
└ BoardController.java
└ AccountController.java
- me.rooted.domain
└ BoardVO.java
└ AccountVO.java
- me.rooted.repository
└ BoardMapper.java
└ AccountMapper.java
- me.rooted.service
└ BoardService.java
└ AccountService.java
- src/main/resources
- me/rooted/repository
└ BoardMapper.xml
└ AccountMapper.xml
- src/test/java
- me.rooted
└ SpringBootProjectApplicationTests.java
장점 : mybatis을 사용한다면 src/main/java/me/rooted/repository와 src/main/resource/me/rooted/repository가 자동으로 연동된다.
단점 : 하나의 기능을 개발할때 여러 패키지에 파일이 생기게 된다.
2. 기능별로 묶기
- spring-boot-project
- src/main/java
- me.rooted
└ SpringBootProjectApplication.java
- me.rooted.swagger
└ SwaggerConfig.java
- me.rooted.security
└ WebSecurityConfig.java
- me.rooted.board
└ BoardController.java
└ BoardService.java
└ BoardMapper.java
└ BoardVO.java
- me.rooted.account
└ AccountController.java
└ AccountService.java
└ AccountMapper.java
└ AccountVO.java
- src/main/resources
- mybatis/sqlmaps
└ BoardMapper.xml
└ AccountMapper.xml
- src/test/java
- me.rooted
└ SpringBootProjectApplicationTests.java
장점 : 기능별로 묶여있어 유지보수에 용이하다(!??)
단점 : mybatis을 사용한다면, 개별적으로 연동시켜줘야 하는 것으로 알고있다.
이렇게 Spring Boot 프로젝트 구조에 대해 설명해보았습니다.
저는 위 2가지 구조중 첫번째 구조인 역할별로 구성하는 것을 선호합니다.
왜냐하면, mybatis 연동에 있어서 아무것도 따로 설정하지 않아도 되거든요!(귀차니즘)
틀리거나 첨언해주실 것이 있으시다면 댓글 부탁드립니다.
봐주셔서 감사합니다.
'Back End > Spring Boot' 카테고리의 다른 글
스프링 부트 스케줄러 @Scheduled 어노테이션 사용법(@Scheduled Annotation) (0) | 2020.04.22 |
---|---|
Spring Boot 원리 : 자동 설정(Auto Configuration) (1) | 2019.09.02 |
Spring Boot 원리 : 의존성(Dependency) 관리 (0) | 2019.09.02 |
간단한 스프링 스케줄러(Spring Scheduler) 사용하기 : @Scheduled Annotation (0) | 2019.08.19 |
Spring Boot 메일 전송 : Spring Boot 2, Mail, Thymeleaf (2) | 2019.08.19 |
Comments