본문 바로가기
목차
Spring

1-1 프로젝트의 기본구조 구성

by 지각생 2022. 1. 12.
728x90

- maven

: 프로젝트에 필요한 의존적인 라이브러리를 자동으로 관리해주는 용도, STS는 기본적으로 maven을 내장하고 있기때문에  프로젝트 생성시 maven을 사용해 스프링 관련 라이브러리를 다운로드한다.

 

- 스프링 MVC 프로젝트 템플릿 구조

  • src/main/java : 개발 되는 자바 코드의 경로 **
  • src/main/resource : 서버가 실행될때 필요한 파일들의 경로
  • src/test/java :  테스트 코드
  • src/test/resource : 테스트 실행시에만 사용되는 파일의 경로
  • src/main/webapp/WEB-INF/spring : 스프링 설정파일의 경로 **
  • src/main/webapp/WEB-INF/views : JSP 파일의 경로
  • ./pom.xml : Maven 설정파일



출처: https://iamjoso.tistory.com/40 [You only live one time]

 

https://codevang.tistory.com/240

 

스프링(Spring) 프로젝트의 폴더 구조

- Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 먼저 Spring MVC 템플릿으로 스프링 프로..

codevang.tistory.com

 

간단한 구조(프로젝트 초기)

  • Project
    • Controller
    • DTO
    • Entity
    • Service

도메인 단위로 분할

위 프로젝트가 더 커짐에 따라 여러 도메인이 추가되면 도메인 단위로 상위 패키지 개념을 추가한다. ex) 단순 게시판에 회원 기능 추가

  • Project
    • BBS
      • Controller
      • DTO
      • Entity
      • Service
    • member
      • Controller
      • DTO
      • Entity
      • Service

기능별 분할

하지만 위와 같이 구성시, BBS의 Controller에서 회원 관련 서비스를 자주 사용하게 되고, 엔티티도 연관관계가 생기면 다음과 같이 변경된다.

  • Project
    • controller
      • BBS
      • member
    • service
      • BBS
      • member
    • entity
      • BBS
      • member

즉 프로젝트가 성장함에 따라 프로젝트 구조도 상황에 맞춰 성장시킬 수 있어야 한다.

https://xengom.com/spring/vo-dto-dao-repository-domain/

 

VO vs DTO, DAO vs Repository, 그리고 Domain과 프로젝트 구조

1. VO, DTO, DAO, Domain? Java MVC패턴 공부할때 가장 많이 나오는 용어들인데 그냥 관성적으로 쓰기만하고 실질적으로 뭐가뭔지 이해가 잘 안가서 정리한다. VO vs DTO 거의 같은 의미로 사용되는 경우가

xengom.com

 

728x90

댓글