Backend/SpringBoot

프로젝트 설정파일 application.properties (또는 application.yml)

Dean83 2024. 10. 22. 12:31

프로젝트 내 각종 설정정보를 모아두는 파일이다.  위치는 resources 폴더 내부에 위치하고 있다. 

기본적으로 프로젝트를 생성하면 (spring initalzr 을 통해) application.properties 가 생성이 되나, application.yml을 많이 쓰는 모양이다. 변경은, rename을 통해 확장자를 yml로 변경하면 된다. 

 

  • 주로, DB 접속 정보, 각종 서버 접속 정보, PG사 정보, API Key 값 등 연동 정보 및 설정 옵션들을 지정한다.
  • 실행 포트번호, 이름 등도 설정한다. 

 

  • 설정파일 분리

dev 환경, 배포환경 등 설정을 나눠서 해야 할 경우가 있다. 파일 자체를 분리하는법, 한 파일에서 나눠 작성하는법이 있다.

VSCode 에서는 1개의 설정파일에 dev 환경, 배포환경을 모두 구현해 두고 launch.json 에서 어느 환경으로 실행할지를 결정 한다. (아직 파일 분리 설정법을 못찾았다)

 

  • 1개의 application.yml 에서 --- 으로 구분하여 각 프로파일에 맞는 설정을 한다.
spring:
    config:
        activate:
            on-profile: dev
    application:
        name: test1_dev
server:
	port: 3333
---
spring:
    config:
        activate:
            on-profile: prod
    application:
        name: test1_prod
server:
	port: 4444

 

 

  • launch.json 파일에서 "args": "--spring.profiles.active=" 부분을 추가한다.
    • dev 혹은 prod 등 위에서 설정한 값을 입력해 주면 된다.
  • launch.json은 프로젝트 폴더 -> .vscode 폴더 안에 있다
    • 없을 경우, gradle 로 빌드, bootrun으로 실행 한 후에 생긴다.
    • 그래도 안 생길 경우 아래 내용을 참고하여 작성하면 된다.
{
    "configurations": [
        {
            "type": "java",
            "name": "Spring Boot-Test1Application<test1>",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "mainClass": "com.example.test1.test1.Test1Application",
            "projectName": "test1",
            "args": "--spring.profiles.active=dev",
            "envFile": "${workspaceFolder}/.env"
        }
    ]
}