Spring Profilesμ μ ν리μΌμ΄μ μ€μ μ λ°λ‘ λΆλ¦¬νλ λ°©λ²μ μ 곡νκ³ νΉμ ν νκ²½μμλ§ μλν μ μκ² ν΄μ€λ€. @Component, @Configuration, @ConfigurationProperties μ΄λ Έν μ΄μ μ μ΄λ€ profileμ λΆλ¬μ¬μ§ @Profile μ΄λ Έν μ΄μ μΌλ‘ νμν μ μλ€.
@Configuration(proxyBeanMethods = false)
@Profile("production")
public class ProductionConfiguration {
// ...
}
μ΄λ€ profileλ€μ νμ±νν μ§ spring.profiles.active νκ²½ μμ±μ μ§μ ν μ μλ€.
// application.properties
spring.profiles.active=dev,hsqldb
// shell
$ java -jar myproject.jar --spring.profiles.active=dev,hsqldb
// java
SpringApplication.setAdditionalProfiles(β¦)
νμ±νλ profileμ΄ μμΌλ©΄ default profileμ΄ μ¬μ©λλ€. spring.profiles.default νκ²½ μμ±μΌλ‘ default profile λͺ μ λ°κΏ μ μλ€.
spring.profiles.default=none
μ ν리μΌμ΄μ μ μ μνκ³ μ¬μ©ν profileλ€μ λ무 μΈλΆνλμ΄ μ¬μ©νκΈ°μ λ²κ±°λ‘μ΄ κ²½μ°κ° μλ€. μλ₯Ό λ€μ΄, λ°μ΄ν°λ² μ΄μ€μ λ©μμ§ κΈ°λ₯μ μ¬μ©νλλ‘ νλ proddbμ prodmq profileλ€μ κ°μ§ μ μλ€. Spring Bootλ profile κ·Έλ£Ήμ μ μν μ μκ³ , κ΄λ ¨ νλ‘νμΌ κ·Έλ£Ήμ λ Όλ¦¬μ μ΄λ¦μ μ μν μ μλ€.
spring.profiles.group.production[0]=proddb
spring.profiles.group.production[1]=prodmq