Spring(스프링) 프로젝트의 폴더 구조
Spring MVC 템플릿
1. src/mian/java
자바(.java) 파일이 모여있는 곳.
패키지로 잘 분리해서 자바 클래스를 생성해 사용하면 된다.
스프링에서 이미 MVC 패턴의 서블릿 구조를 잡아주기 때문에 따로 서블릿을 만들 필요 없이 스프링 구조에 맞춰 클래스 파일들을 작성해 주면 된다.
2. src/main/resources
자바 클래스에서 사용하는 리소스를 보관하는 곳
DB 연결을 위한 자원, 의존성 주입(DI) 을 위한 xml 파일 등 자바 코드 외 모든 자원은 이곳에 넣어 주면 된다.
3. src/test
- src/test/java
- src/test/resources
위 두 폴더와 같은 역할이지만 테스트를 위한 자바 코드와 리소스를 보관하는 곳
4. Maven Dependencies
메이븐에서 자동으로 관리해주는 라이브러리 폴더
"pom.xml" 에 작성된 라이브러리들을 자동으로 다운 받아 관리해준다.
빌드툴을 사용함으로써 개발자가 직접 관리해주지 않아도 되는 영역이 되었다.
5. src
Web 에 관련된 자원이 담겨있는 루트 폴더
하위 폴더에 웹가 관련된 모든 자원들이 분류되어 있다.
main 폴더 안에 모두 들어가고, test 폴더는 말 그대로 테스트를 위한 공간이다.
5-1. src/main/webapp/resources
웹에 필요한 다양한 자원들을 보관하는 곳이자, 사용자가 직접 접근할 수 있는 공간
js, css, img 파일 등이 보관되어 있으며, 보통 컨트롤러가 요청을 가로채지 않고 바로 접근 할 수 있도록 따로 설정해서 사용하는 곳
5-2-1. src/main/webapp/WEB-INF/classes
컴파일 된 파일이 보관되는 곳
5-2-2. src/main/webapp/WEB-INF/spring
스프링 환경설정 파일 (context)이 보관 되는 곳
5-2-\32. src/main/webapp/WEB-INF/views
JSP, HTML 파일이 보관 되는 곳
이 폴더가 루트( / ) 의 기준점 이다.
사용자가 입력하고 컨트롤러가 받아주는 URL 이 이폴더의 구조를 따라가기 때문에 잘 정리해서 사용 할 필요가 있는 곳