관심쟁이 영호
[Spring Boot 기초]ㅣ 스프링 부트 ㅣ application.yml 설정 보기 본문
yaml이란?
YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다.
스프링에서는 application.yml을 통해서 web.xml, root-context.xml, servlet.context를 설정한다.
yml을 이용하는 이유는 직관적이고 편해서 이용한다.
spring이 시작되면 가장 먼저 application.yml을 한번 읽고 시작한다.
코드를 보자.
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: cos
password: cos1234
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
server:
port: 8000
servlet:
context-path: /blog
encoding:
charset: UTF-8
enabled: true
force: true
여기서 server: 부분의 context-path는 "나의 프로젝트로 들어가기위한 진입점"이라고 생각하면 된다.
localhost:8080/ 은 default값이고 위와 같이 설정하면 localhost:8000/blog로 바뀌게된다.
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
여기서 예를 들어,
@Controller
public class TempControllerTest{
@GetMapping("/temp/home")
public String tempHome(){
return "home.html";
}
}
이렇게 했을 때,
localhost:8000/blog/temp/home을 주소창에 치게되면 해당 코드로 진입하게 되고,
home.html을 리턴해주는 것이다.
근데 여기서 오류가 난다.
이유는 위에서 yml에 /WEB-INF/views/라고 설정을 해두었기 때문에, 실제로는
localhost:8000/blog/WEB-INF/views/home.html.jsp
경로로 찾게 되는것이다.
그래서 WEB-INF/views 디렉터리를 미리 설정해두고 해당하는 곳에 home.html을 보관해두어야 한다.
근데 스프링에서는
파일리턴 기본 경로가 src/main/resources/static이다.
그래서 위의 yml에 해당부분을 주석처리를 해주자.
그리고 static에 home.html을 추가하자.
※ 리턴값도 "/home.html"로 수정해주어야 한다. -> src/main/rewources/static/home.html이 된다.
spring에는 static에 고정된 값만 넘겨줄 수 있다.
jsp처럼 컴파일이 필요한 것은 찾아는 주지만, 컴파일이 안된다.
그래서 src/main/에 wepapp/WEB-INF/views 폴더를 새로 생성해주고, 거기에 jsp파일을 저장해야한다.
'Bank-End > Spring Boot' 카테고리의 다른 글
Spring Boot ㅣ JPA, ORM에 관해서 (0) | 2021.04.06 |
---|---|
JSON이 무엇일까? (0) | 2021.04.05 |
[Spring Boot 기초]ㅣ HTTP 값 주고 받기, Get방식, Post방식 (0) | 2021.04.03 |
[Spring Boot 기초] http 통신 - Get, Post, Put, Delete (0) | 2021.04.03 |
[Spring Boot 기초] ㅣMessageConverter? (0) | 2021.04.02 |