관심쟁이 영호

[Spring Boot 기초]ㅣ 스프링 부트 ㅣ application.yml 설정 보기 본문

Bank-End/Spring Boot

[Spring Boot 기초]ㅣ 스프링 부트 ㅣ application.yml 설정 보기

관심쟁이 영호 2021. 4. 4. 20:52
반응형

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파일을 저장해야한다.

 

 

 

300x250
Comments