[스프링부트 게시판] 6. yml 설정하기

2022. 5. 1. 17:03·🚗 Backend Toy Project/스프링 부트 게시판
  • 이번 시간에는 yaml 설정을 통해 스프링 프로젝트를 설정해보겠습니다.
  • yaml이란 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식으로, 오늘날 xml과 JSON이 데이터 직렬화에 주로 쓰이기 시작하면서, 많은 사람들이 YAML을 '가벼운 마크업 언어'로 사용하려 하고 있습니다.
  • 결론적으로, 좀 더 가벼운 마크업 언어를 사용하기 위해서 yaml을 사용하는 것입니다.

  • Spring Legacy를 해보았다면 web.xml과 root-context.xml, servlet-context.xml 파일에 대해서 잘 알고있을 것입니다.
  • Spring Boot에서는 이 세 가지 파일을 모두 합하여 통째로 application.yml 파일에서 설정할 수 있습니다.
  • 즉, 우리는 아래와 같은 코드를 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
  • 위 구문에서 jpa와 jackson 부분은 프로젝트를 진행하며 필요할 때마다마 설명하도록 하고, 이번 시간에는 이를 제외한 나머지 부분에 대한 설명을 먼저 하도록 하겠습니다.

1. server

  • 우선 server 부분에서는 port와 servlet, encoding 등을 설정하고 있는데, 만약 우리가 server 부분을 생략한다면 이는 다음과 같은 의미입니다.
server:
  port: 8080
  servlet:
    context-path: /
    encoding:
      charset: UTF-8
      enabled: true
      force: true
  • 우리는 지금까지 위와 같은 설정을 사용한 것이며 이제 서버에 대한 새로운 설정을 적용한 것입니다.
    즉, 이제부터는 아래와 같은 경로를 통해 서버를 이용할 수 있습니다.

 

2. spring

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
  • 다음으로 spring 부분에서는 mvc, datasource 등을 설정하고 있습니다. 
  • 먼저 mvc의 view 부분은 기존 Spring Legacy에서 ViewResolver를 설정한 부분과 동일한 구문으로, 컨트롤러가 반환한 경로의 앞, 뒤에 prefix와 suffix에 지정한 경로를 붙여서 파일을 찾도록하는 역할을 수행합니다.
  • 이는 Spring Legacy에서 ViewResolver를 사용해보았다면 이해하기 쉬운 구문일 것입니다.
  • 다음으로 datasource 부분은 우리가 이후 사용하게 될 데이터베이스를 연동하기 위한 부분으로, 역시 기존 Spring Legacy에서 jdbc를 통해 데이터베이스를 연동하고 사용해보았다면 바로 이해할 수 있는 구문입니다.

📌 References

  • https://www.youtube.com/watch?v=U9OnYKiSf4g&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=19 
 

GitHub - Daegwon-Kim/SpringBoot-JPA-Blog

Contribute to Daegwon-Kim/SpringBoot-JPA-Blog development by creating an account on GitHub.

github.com

저작자표시 (새창열림)

'🚗 Backend Toy Project > 스프링 부트 게시판' 카테고리의 다른 글

[스프링부트 게시판] 8. 회원가입을 위한 insert 테스트  (0) 2022.05.02
[스프링부트 게시판] 7. 테이블 생성  (0) 2022.05.02
[스프링부트 게시판] 5. lombok 세팅 및 테스트  (0) 2022.05.01
[스프링부트 게시판] 4. http 요청 실습  (0) 2022.05.01
[스프링부트 게시판] 3. Git 설치 및 GitHub 연동  (0) 2022.04.30
'🚗 Backend Toy Project/스프링 부트 게시판' 카테고리의 다른 글
  • [스프링부트 게시판] 8. 회원가입을 위한 insert 테스트
  • [스프링부트 게시판] 7. 테이블 생성
  • [스프링부트 게시판] 5. lombok 세팅 및 테스트
  • [스프링부트 게시판] 4. http 요청 실습
Baeg-won
Baeg-won
  • Baeg-won
    좋았다면 추억이고 나빴다면 경험이다.
    Baeg-won
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 🍃 Spring, Spring Boot
        • 스프링 프레임워크 기초
        • 스프링 핵심 원리 - 기본편
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편
        • 스프링 MVC
        • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리..
      • 🥑 Web Technoloy
      • 🚗 Backend Toy Project
        • 스프링 부트 게시판
        • Photogram
        • Baeg-won Clothing Gallery
      • 🥇 Problem Solving
        • Breadth-First Search
        • Depth-First Search
        • Backtracking
        • Simulation
        • Two-pointer
        • Binary Search
        • Greedy
        • Dynamic Programming
        • Minimum Spanning Tree
        • Dijkstra
        • Floyd warshall
      • ☕ Java
        • 명품 자바 에센셜
        • Applications
      • 🍦 JavaScript
        • JavaScript 기초
      • 🐧 Linux
        • 이것이 리눅스다(CentOS 8)
      • 📟 Database
        • 혼자 공부하는 SQL
      • 🧬 Data Structure
      • 🎬 HTML
      • 🎤 Tech Interview
      • 📌 etc
        • Unity 2D Raising Jelly Game
        • C++
        • 영어 쉐도잉
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Baeg-won
[스프링부트 게시판] 6. yml 설정하기
상단으로

티스토리툴바