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
https://jaewon2336.tistory.com/225?category=541782
https://jaewon2336.tistory.com/235
https://jaewon2336.tistory.com/308
https://blueyikim.tistory.com/253
'Spring Boot' 카테고리의 다른 글
프로젝트 구조 (0) | 2022.08.25 |
---|---|
Gradle 그레이들이란? (0) | 2022.08.24 |
IntelliJ/Spring Boot 인텔리제이 세팅 (0) | 2022.08.23 |
JAVA/JDK 1.8 설치 및 환경 변수 설정 (0) | 2022.08.23 |