Properties

์„œ๋น„์Šค ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ(dev, prod) ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์—๋Š” Profile๊ณผ Property๊ฐ€ ์žˆ๋‹ค.

์ •์˜

์Šคํ”„๋ง์€ ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•œ ์™ธ๋ถ€์˜ ํŒŒ์ผ์„ ์ด์šฉํ•˜์—ฌ ์Šคํ”„๋ง ๋นˆ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ์ด ์™ธ๋ถ€์˜ ํŒŒ์ผ์„ ํ”„๋กœํผํ‹ฐ ํŒŒ์ผ์ด๋ผ๊ณ  ํ•˜๋ฉฐ, properties ํ™•์žฅ์ž๋ฅผ ๊ฐ–๋Š”๋‹ค.

์‚ฌ์šฉ๋ฒ•

ํ”„๋กœํผํ‹ฐ ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋œ๋‹ค.

ํ”„๋กœํผํ‹ฐ๋ช…=๊ฐ’
ํ”„๋กœํผํ‹ฐ๋ช…=๊ฐ’
...

์ด ํ”„๋กœํผํ‹ฐ ํŒŒ์ผ ๋‚ด์˜ ๋ณ€์ˆ˜๋“ค์€ ๋‹ค์Œ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. PropertySourcesPlaceholderConfigurer ๋นˆ ๋“ฑ๋ก

  2. @Value ์• ๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ํ”„๋กœํผํ‹ฐ ๊ฐ’ ์‚ฌ์šฉ

1. PropertySourcesPlaceholderConfigurer ๋นˆ ๋“ฑ๋ก

@Configuration
public class Config {

    @Bean
    public static PropertySourcesPlaceholderConfigurer properties() {
        PropertySourcesPlaceholderConfigurer configurer =
					new PropertySourcesPlaceholderConfigurer();
        configurer.setLocations(
                new ClassPathResource("application.properties"),
                new ClassPathResource("database.properties")
        );
        return configurer;
    }

}

PropertySourcesPlaceholderConfigurer๋นˆ์„ ๋“ฑ๋กํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” ๋ฐ˜๋“œ์‹œ static์œผ๋กœ ์„ ์–ธ๋˜์–ด์•ผ ํ•œ๋‹ค.

2. @Value ์• ๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ํ”„๋กœํผํ‹ฐ ๊ฐ’ ์‚ฌ์šฉ

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

@Value("${property.value}")
private String propertyValue;

@Value ์–ด๋…ธํ…Œ์ด์…˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํ”„๋กœํผํ‹ฐ์˜ ์ด๋ฆ„์„ ${} ์•ˆ์— ๋„ฃ์–ด ์ „๋‹ฌํ•˜๋ฉด ํ•ด๋‹น ์–ด๋…ธํ…Œ์ด์…˜์ด ์‚ฌ์šฉ๋œ ๋ณ€์ˆ˜์— ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์ด ํ• ๋‹น๋œ๋‹ค.

Last updated