2023. 7. 26. 12:15ㆍ카테고리 없음
spring boot 프로젝트는 start.spring.io 홈페이지에서 생성할수도 있고 혹은 intellij에서 기본으로 제공하는 프로젝트 생성 과정을 거쳐도 동일하다.
이렇게
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
ㄷㅏ음과 같이 plug in 의존성 정보를 추가해준다.
롬복도 원래 추가해줘야하는데 위 프로젝트 생성할 때 추가를 안해줬기 때문에 maven-repository에서 롬복에 관련된 의존성을 다음과 같이 추가해준다.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
src/main/resources/templates 폴더에 있는 application.properties에 포트번호 및 인코딩을 설정한다.
server.port=8080
server.servlet.encoding.force = true
application.properties에서 설정한 포트번호에서 서버가 정상적으로 실행되는 것을 알 수 있다. 또한 기존의 spring mvc프로젝트에서 dispatcher servlet에 대한 xml파일 설정이 없음에도 불구하고 알아서 dispathcerServlet이 구동되고 있음을 알 수 있다. viewpage에서 컨트롤러로의 요청 과정 및 세팅이 훨씬 간편해졌음을 알 수 있다.
기존에는 url로 접근할때 viewpage의 기본경로는 ${프로젝트 경로}/webapp/ 이었으며 web-inf 내의 viewpage로 접근하기 위해서는 servlet-context에서 view-Resolver를 통해 controller에서 접근하는 폴더명을 직성 리턴해줬어야 헀다.
그러나 spring-boot 프로젝트에서는 static 폴더가 기본 뷰페이지로 설정돼있다.
-spring 프로젝트와 다른 점
web.xml파일이 없다. dispatcher servlet을 설정해줄 필요가 없다.
view page 기본 경로 및 폴더 계층구조가 다르다. (target폴더도 마찬가지, 서버 실행시 servletContext 경로가 무엇인지 확인할 필요가있음)
url로 접속할 수 있는 경로의 파일은 static 폴더에 들어가고 컨트롤러를 거쳐서 접근해야하는 파일은 templates 폴더로 설정돼있다
기존에 spring 프로젝트로 진행할때는 WEB-INF/views 폴더로 설정했다 -> 물론 이 경로는 변경 가능했다.
어쩄든 webapp/WEB-INF/views 로 접근했던 경로가(View Resolver의 prefix경로를 포함한 controller의 리턴값) 이제는 resources/templates를 default 경로로 설정해 접근하는 것이다.