Spring/applicaion.yml 설정 파일
applicaion.properties 파일을 보자.
- server.xml
- web.xml
- context.xml
위의 세 가지 파일이 applicaion.properties로 합쳐져 있다.
확장자가 .properties인 파일은 *.* = * 의 형식으로 입력해야 한다.
스프링은 properties 파일을 권장하지만, 이 형식은 가독성이 좋지 않다.
그래서 우리는 yaml을 사용할 것이다.
확장자를 .yml로 바꿔 주자.
server.port를 자동완성으로 입력한다.
context path 설정은 server에서 한다.
서버 밖에서는 찾을 수 없고, 포트 번호를 입력하지 않아도 찾을 수 없다.
서버의 포트, 컨텍스트 패스, 문자 인코딩, 세션 타임아웃을 설정해 주자.
server:
port: 8080
servlet:
context-path: /
encoding:
charset: UTF-8
session:
timeout: 30
세션 타임아웃
로그인 시에 생성된 로그인 세션 정보를 일정 시간 사용하지 않으면 세션 타임아웃이 발생하고, 해당 로그인 정보를 담고 있는 세션 정보가 삭제된다.
DB에 연결하자.
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:(MySQL의 포트번호)/(DB이름)?serverTimezone=Asia/Seoul
username: (user명)
password: (password)
hiberate는 SQL을 직접 사용하지 않고 메서드만으로 쿼리를 사용할 수 있게 해주는 라이브러리다.
hibernate 기술을 쉽게 사용하게 해 주는 라이브러리가 JPA다.
spring:
jpa:
hibernate:
ddl-auto: create
hibernate 옵션
1. ddl-auto: create
서버를 실행할 때마다 테이블을 삭제하고 새로 만든다.
2. ddl-auto: update
필드 수정 시에 필요한 옵션
3. ddl-auto: none
서버를 실행할 때마다 아무 것도 하지 않는 옵션
모델에서 설정한 이름 표기법대로 컬럼명을 설정하자.
spring:
jpa:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
StackTrace에 쿼리문을 보여주게 하자.
spring:
jpa:
show-sql: true
StackTrace에 색을 입혀 보기 좋게 바꿔주자.
spring:
output:
ansi:
enabled: always
전체 코드는 아래와 같다.
server:
port: 8080
servlet:
context-path: /
encoding:
charset: UTF-8
session:
timeout: 30
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:(MySQL의 포트번호)/(DB이름)?serverTimezone=Asia/Seoul
username: (user명)
password: (password)
jpa:
hibernate:
ddl-auto: create
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
show-sql: true
output:
ansi:
enabled: always
이하는 참고 글
https://velog.io/@ikerbm94/SpringBoot-MySQL-%EC%97%B0%EA%B2%B0-%EC%84%A4%EC%A0%95-application.yml
[SpringBoot] MySQL 연결 설정 (application.yml)
먼저 Spring Boot는 properties파일을 공식적으로는 지원하나 yml파일로 포스팅하겠다. 따라서 일단 application.properties파일을 application.yml로 바꾸자. 그리고 application.yml 파일안의 내용을 아래와 같이
velog.io
https://jaewon2336.tistory.com/225?category=541782
스프링 6강. 프로젝트 구조, yml
프로젝트를 만들 때 테스트를 하면서 개발을 하라고 틀이 만들어져 있다. 이 파일에 들어가 보면 main이 있는 게 아닌 @Test가 있다. main의 단점 : 파일을 실행할 때 프로젝트 전체 파일을 읽는다.
jaewon2336.tistory.com
https://jaewon2336.tistory.com/235
스프링 16강. application.yml 설정 파일
server: port: 8080 servlet: context-path: / encoding: charset: utf-8 spring: datasource: url: jdbc:mariadb://localhost:3306/greendb driver-class-name: org.mariadb.jdbc.Driver username: green passwor..
jaewon2336.tistory.com
https://jaewon2336.tistory.com/308
블로그-V3. 프로젝트 세팅
3번째로 복습하는 블로그 프로젝트이다. 이제는 최종 프로젝트이다. 라이브러리를 선택해주는데 두 가지 추가되는 게 있다. 원래 사용하던 6개에 2개가 추가되었다. Spring Boot DevTools Lombok Spring Web
jaewon2336.tistory.com
https://blueyikim.tistory.com/253
[구성] 세션 타임아웃(Session Timeout) 설정 방법
로그인 시에 생성된 로그인 세션정보가 일정시간 사용하지 않아 세션 타임아웃이 발생하고, 해당 로그인 정보를 담고 있는 세션 정보가 삭제됩니다. 이때 기준이 되는 세션 타임아웃값을 설정
blueyikim.tistory.com