[Spring Boot] Environment를 이용하여 properties 값 쉽게 가져오기 (v1)

최대한·2021년 1월 13일
1
post-thumbnail

소개


application.properties 이외에도 xxx.properties 의 값을 읽어오는 간단한 예제입니다.

파일 및 소스


src/main/resources/test.properties


src/.../ConfigUtil.java

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;

@Slf4j
@Configuration						// 빈 등록
@RequiredArgsConstructor
@PropertySource("classpath:test.properties") 		// classpath는 src/main/resource/ 입니다.
public class ConfigUtil {

    private final Environment environment;		// 빈 주입을 받습니다.

    public String getProperty(String key){
        return environment.getProperty(key);
    }

}

src/.../TestController.java

import com.easyconv.easyconvserver.config.ConfigUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RequiredArgsConstructor
@RestController
public class TestController {

    private final ConfigUtil configUtil;

    @GetMapping("/prop/{key}")
    public ResponseEntity<?> getPropertyValue(@PathVariable String key){

        String value = configUtil.getProperty(key);

        return ResponseEntity.ok(value);
    }
}

포스트맨 테스트


참고

ApplicationContext 를 이용한 방법(V2) 확인

profile
Awesome Dev!

0개의 댓글