본문 바로가기
SpringBoot/(책)스프링부트 시작하기

[springboot] 16-2. spring.profiles.active 설정파일 불러오기 (.yml)

by 평범한kiki 2023. 5. 9.

 .yml 파일로 설정 하기

* YAML 플러그인 설치
 마켓플레이스에서 yml 검색 -> Yaml Editor 가 있어서 설치

 

* YAML로 설정파일 만들기

1. /resources/application.yml 생성(스프링 클라우드에서는 bootstrap.yml 으로 사용한다)

- application-dev.yml ..이런식으로 나누어 설정도 가능하고

  한 파일안에 설정시에는 --- 로 구분 가능하다

spring:
  datasource:
    hikari:
      connection-test-query: SELECT 1
      allow-pool-suspension: trie
  jpa:
    database: mysql
    database-platform: org.hibernate.dialect.MySQL57Dialect
    generate-ddl: true
    show-sql: true
    properties:
      hibernate:
        use-new-id-generator-mappings: false
        format_sql: true
  servlet:
    multipart:
      enabled: true
      location: /upload/images/
      max-request-size: 30MB
      max-file-size: 5MB
  mvc:
    hiddenmethod:
      filter:
        enabled: true    
  thymeleaf:  #thymeleaf 설정
    check-template-location: true
    prefix: classpath:/templates/
      
mybatis:
  configuration:
    map-underscore-to-camel-case: true   

logging:
  config: classpath:logback-${spring.profiles.active}.xml
       
---
#log4jdbc적용후
spring:
  datasource:
  hikari:
    driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
    jdbc-url: jdbc:log4jdbc:mysql://127.0.0.1:3306/web_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: test
    password: test123
  thymeleaf: #thymeleaf 설정
    cache: false
  resources:
    cache:
      period: 0
  
part4:
  upload:
    path: C:/upload/images/
    
---
spring:
  datasource:
  hikari:
    driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
    jdbc-url: jdbc:log4jdbc:mysql://127.0.0.1:3306/web_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: test
    password: test123 

part4:
  upload:
    path: /upload/images/

2. yml 완성 후 application.properties 삭제한다

 

3. application.properties 삭제 이와 관련된 코드 변경한다

1) DatabaseConfiguration.java 파일등의 config 파일안에 설정파일이 application.properties 일때 사용한 

    @PropertySource(설정파일 위치지정) 삭제한다.

@PropertySource("classpath:/application.properties")

2) 로그파일 나눔(개발, 운영용으로)

logging:
  config: classpath:logback-${spring.profiles.active}.xml 설정에 따라

logback-dev.xml, logback-prod.xml

 

4. 액티브 프로파일 지정하기

1) .yml 파일안에 지정가능

spring:
  profiles:
    active: dev

2) Run As > Run Configuration 선택 후 실행설정에 profile에 dev 입력