Java

[Spring Boot] application.properties 설정하기

솔솔 2021. 6. 18. 16:38
반응형

2021.06.15 - [Java] - [SpringBoot] 프로젝트 생성하기

 

[SpringBoot] 프로젝트 생성하기

안녕하세요~ SpringBoot 프로젝트 생성하는 방법에 대해 포스팅해볼게요. 일단 STS를 실행해주세요~ 프로젝트 [File] - [New] - [Spring Starter Project] 클릭 프로젝트 설정 Name : 프로젝트명을 설정해줍니다..

ddol.tistory.com

 

안녕하세요 :)

지난 SpringBoot 프로젝트 생성에 이어 application.properties에서 간단한 설정하는 방법에 대해 소개하려고합니다.

 

프로젝트를 생성하고 src/main/resources/application.properties에 들어가보면

이렇게 비어있는 것을 볼 수 있습니다.

 

이제 여기에 사용자의 입맛에 맞게 설정을 추가해주면 됩니다.

저는 아래와 같이 5가지 설명해볼게요.

  • url을 호출할 때 필요한 context-path
  • port
  • Logging Level
  • Database 연결
  • MyBatis 설정

1. context-path

 -> url을 호출할 때 http://localhost:8080/OOOO/~~~

OOOO에 들어가는 경로를 설정해주는 것입니다.

 

나는 호출할 때 http://localhost:8080/test/~~~ 이런식으로 호출하고 싶어요! 하면

server.servlet.context-path=/test

 

아무것도 안 넣고 싶으면 그냥 / 만 입력하면 됩니다.

server.servlet.context-path=/

그럼 호출할때 http://localhost:8080/~~ 이렇게 호출하면 돼요.

이 외에도 encoding 등 다양한 것들이 있으니 입맛에 맞게 설정하시면 되겠죠?

 

2. port

기본 포트는 8080으로 설정 안하게 되면 자동 8080으로 반영됩니다.

그치만 정해진 포트를 사용해야할 경우, 포트를 바꿔줘야하기때문에

server.port=8083

이렇게 변경해주면 됩니다.

 

3. Logging Level

  [1] 루트 레벨 전체 Logging Level 지정

logging.level.root = info

  [2] 원하는 패키지별 Logging Level 지정

logging.level.com.ex = debug

 

  Level 종류

       [ TRACE < DEBUG < INFO < WARN < ERROR ]

   [1] ERROR : 요청을 처리하는 중 오류가 발생한 경우

   [2] WARN : 시스템 에러의 원인이 될 수 있는 경고성 메시지

   [3] INFO : 상태 변경과 같은 정보성 로그

   [4] DEBUG : 프로그램을 디버깅하기 위한 정보

   [5] TRACE : 추적 레벨은 Debug보다 훨씬 상세한 정보

 

4. Database 연결

  [1] DataSource

spring.datasource.hikari.driver-class-name = [Oracle, MySQL ... DB종류에 따라 다르게 설정]

Oracle : oracle.jdbc.driver.OracleDriver
MySQL : com.mysql.cj.jdbc.Driver

  [2] hikariCP 설정

spring.datasource.hikari.jdbc-url=jdbc:oracle:thin:@IP:Port/orcl
spring.datasource.hikari.username=아이디
spring.datasource.hikari.password=비밀번호

// maximum pool size (pool에 유지시킬 수 있는 최대 커넥션 수 default:10)
spring.datasource.hikari.maximum-pool-size=10

// 연결되었는지 확인을 위한 초기 쿼리
spring.datasource.hikari.connection-init-sql=SELECT 1 FROM DUAL

// pool에서 일을 안하는 커넥션을 유지하는 시간 (최솟값 : 10000ms / default : 600000ms(10minutes))
spring.datasource.hikari.idleTimeout=10000

// poo;에서 커넥션을 얻어오기 전까지 기다리는 최대시간 (최솟값 : 250ms / default : 30000ms(30s))
spring.datasource.hikari.connection-timeout=10000

// valid 쿼리를 통해 커넥션이 유효한지 검사할 때 사용되는 timeout (최솟값 : 250ms / default : 5000ms)
spring.datasource.hikari.validation-timeout=10000

// 커넥션 풀에서 살아있을 수 있는 커넥션의 최대 수명 시간 (default : 1800000ms(30minutes))
spring.datasource.hikari.maxLifetime=580000

더 상세한 설정 : https://effectivesquid.tistory.com/entry/HikariCP-%EC%84%B8%ED%8C%85%EC%8B%9C-%EC%98%B5%EC%85%98-%EC%84%A4%EB%AA%85

 

HikariCP 세팅시 옵션 설명

HikariCP 옵션 jdbcUrl, username, password는 너무 기본적인 내용이라 생략하겠습니다. HikariCP설정의 시간 단위는 ms입니다. autoCommit: auto-commit설정 (default: true) connectionTimeout: pool에서 커넥..

effectivesquid.tistory.com

 

5. MyBatis 설정

mybatis.configuration.cache-enabled=false
mybatis.configuration.use-generated-keys=true
mybatis.configuration.lazy-load-trigger-methods=false
mybatis.configuration.default-executor-type=reuse
mybatis.configuration.jdbc-type-for-null=null
mybatis.configuration.call-setters-on-nulls=true

다 작성하면 이렇게 application.properties가 풍성해지는 것을 확인할 수 있습니다^^

 

반응형