본 포스트는 데어프로그랭밍님 스프링부트 블로그프로젝트 수강 후 작성한 내용입니다.
yaml설정
yaml을 설정한다는 것은 프로젝트 설정을 한다는 것이다. 이전에는 xml을 주로 사용했지만 가독성 때문에 최근에는 yaml을 더 많이 사용한다.
yaml규칙
-키와 value사이에 한칸이 무조건 떨어져 있어야 한다. ex. context-path: /blog
-들여쓰기 규칙은 무조건 스페이스 두칸
java project에서는 root-context.xml에는 객체가 한번만 있으면 되는, 한번만 new되고 더이상 new되지 않는 데이터베이스와 같은 애들을 설정하고 servlet-context.xml에는 지속적으로 계속 new해서 만들어서 사용하는 애들을 설정한다.
하지만 스프링에서는 aplication.yaml에서 다 한다.
블로그 프로젝트에 진입하기 직전에 application.yaml을 읽고 프로젝트를 읽는다.
application.yaml은 src/main/resources안에 있음
application.yaml코드
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
1)server 부분
context-path : 내 프로젝트에 들어가기 위한 진입경로.
port를 8000, context-path를 /blog로 설정했기 때문에 경로가 http://localhost:8000/blog/~ 로 변경됨.
이 부분을 설정하지 않으면 default인 http://localhost:8080/~이다
2)spring부분
스프링에서 @Controller가 붙은경우 file을 리턴해준다. 이때 스프링의 파일 리턴 기본경로는 src/main/resources/static이다. 뒤에 / 가 붙어있지 않기 때문에 return에 /filename.~ 를 써야한다. 또한 위의 경로는 static한, 정적파일(브라우저가 인식할 수 있는 파일을 저장)을 저장하는 폴더이기 때문에 동적인 파일을 해당 폴더에 두면 스프링이 인식하지 못한다. 앞으로 프로젝트를 진행할 때 jsp파일을 사용할 것인데 jsp는 동적파일이고 스프링에서 기본으로 지원해주고 있지 않기 때문에 pom.xml에 jsp의존성을 설정해주고 src/main에 webapp/WEB-INF/views라는 폴더를 만들어서 여기에 jsp파일 저장하고 application.yaml에 위에 코드의 spring: 부분처럼 적어주어야한다.
해당 코드에서 prefix는 컨트롤러가 리턴할 때 앞에 붙여주는 경로명, suffix는 컨트롤러가 리턴할 때 뒤에 붙여주는 경로명 이다. prefix를 / 로 끝냈기 때문에 이때는 return할 때 /을 붙여주지 않고 suffix에 .jsp를 했기 때문에 리턴할 때 파일명을 붙이지 않는다.
'SpringBoot > Blog프로젝트 with JPA &데어프로그래밍님' 카테고리의 다른 글
21.1.1 TIL(2) - application.yaml 추가 설명, 데이터베이스 한글 인코딩 (0) | 2021.01.01 |
---|---|
21.1.1 TIL - JPA를 이용해서 데이터베이스 테이블 생성하기 (0) | 2021.01.01 |
12.27 TIL - lombok (0) | 2020.12.28 |
12.23 TIL - maven (0) | 2020.12.23 |
20.12.21 TIL - http 실습 (0) | 2020.12.21 |