Dev./Spring-Boot

[Spring-Boot] 환경 변수 저장 및 사용 방법

hotamul 2023. 2. 17. 23:56

Spring Boot에서는 config 디렉토리에 환경 변수 파일을 저장할 수 있다. 기본적으로 Spring Boot는 아래 나열된 순서대로 환경 변수 파일을 찾는다.

  1. A config subdirectory of the current directory.
  2. The current directory.
  3. A classpath /config package.

config 디렉토리에 .env 파일을 만들어 환경 변수들을 저장하고

DB_HOST=localhost
DB_PORT=5432
DB_USER=admin
DB_PASSWORD=secret

아래 처럼 @Value annotation로 해당 변수들을 사용하면 된다.

@RestController
public class MyController {

    @Value("${DB_HOST}")
    private String dbHost;

    @Value("${DB_PORT}")
    private int dbPort;

    @Value("${DB_USER}")
    private String dbUser;

    @Value("${DB_PASSWORD}")
    private String dbPassword;

    @GetMapping("/db")
    public String getDbInfo() {
        return "DB Host: " + dbHost + ", DB Port: " + dbPort + ", DB User: " + dbUser + ", DB Password: " + dbPassword;
    }
}