yaml 파일이란?
yaml 설정 = 스프링 프로젝트 설정
스프링 프로젝트의 포트, DB 연결, 인코딩 등의 전반적인 설정을 yaml 파일에서 한다. 기존에는 xml이라는 파일에서 했는데 이젠 yaml(야물) 파일에 설정한다.
yml 설정
root-context.xml : 보통 DB 설정. 한번만 객체 생성하고 더 이상 new할 필요 없이 싱글톤으로 관리되는 애들이 설정되는 곳이다.
servlet-context.xml : 한번이 아닌 지속적으로 계속 new해서 사용해야 하는 애들이 설정되는 곳이다.
스프링에서는 application.yml 파일에 설정하기만 하면 돼서 위처럼 구분할 필요가 없다.
application.yml : web.xml, root-context.xml, servlet-context.xml의 합본
server:
port: 8000
servlet:
context-path: /blog
encoding:
charset: UTF-8
enabled: true
force: true
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul
username:
password:
jpa:
open-in-view: true
hibernate:
ddl-auto: create
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
use-new-id-generator-mappings: false
show-sql: true
properties:
hibernate.format_sql: true
jackson:
serialization:
fail-on-empty-beans: false
프로젝트에 진입하기 직전에 application.yml 파일을 먼저 읽는다.
application.yml 분석
server:
port: 8000
servlet:
context-path: /blog
encoding:
charset: UTF-8
enabled: true
force: true
이 부분을 적지 않는다면 디폴트로 8080에 context-path가 '/' 로 설정되어 있을 것이다.
이전 : http://localhost:8080/http/lombok
설정 후 : http://localhost:8000/blog/http/lombok
@Controller
public class TempControllerTest {
// http://localhost:8000/blog/temp/home
@GetMapping("/temp/home")
public String tempHome() {
System.out.println("tempHome()");
return "home.html";
}
}
tempHome()은 찍히는데 404에러가 발생하는 것을 볼 수 있다. yml에서 다음과 같이 설정을 해두었기 때문이다.
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
주석 처리를 해주고 스프링의 파일 리턴 기본 경로인 src/main/resources/static에 home.html을 만들어준 후 "/home.html"을 리턴해주면 잘 동작하는 것을 볼 수 있다.
html이 아닌 jsp를 리턴해주려 할 때 스프링부트는 jsp를 지원하지 않기 때문에 pom.xml에서 JSP 템플릿 엔진을 의존성 설정해줘야 한다. 또한 static 경로는 스프링이 정적 파일을 두는 곳이기 때문에 브라우저가 인식할 수 있는 파일만 넣어야 한다. ex) 이미지 파일
static 파일에 jsp 파일을 두면 스프링이 못찾는다. jsp는 컴파일이 일어나야 하는 파일이기 때문이다. 따라서 경로를 바꿔줘야 한다.
yml 파일에서 prefix로 /WEB-INF/views/, suffix를 .jsp로 지정해두었기 때문에 test를 리턴해주면 자동으로 /WEB-INF/views/test.jsp의 경로로 jsp 파일을 찾아줄 것이다.
출처 : https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9
'Spring > Blog 만들기 with SpringBoot' 카테고리의 다른 글
Blog 테이블 생성 - Board (0) | 2022.05.03 |
---|---|
Blog 테이블 생성 - User (0) | 2022.05.01 |
Lombok 세팅 (0) | 2022.04.28 |
Maven (0) | 2022.04.27 |
HTTP1.1 실습 (0) | 2022.04.19 |