Profile

μ„œλΉ„μŠ€ ν™˜κ²½μ— 따라 μ„œλ‘œ λ‹€λ₯Έ ν™˜κ²½ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜κ³ μž ν•  λ•Œ(dev, prod) μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯μ—λŠ” Profileκ³Ό Propertyκ°€ μžˆλ‹€.

μ •μ˜

μ„œλΉ„μŠ€ ν™˜κ²½μ— 따라 μ„œλ‘œ λ‹€λ₯Έ ν™˜κ²½ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•  μˆ˜λ„ μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 개발 μ‹œμ™€ 배포 μ‹œ μ„œλ‘œ λ‹€λ₯Έ λ°μ΄ν„°λ² μ΄μŠ€ μ„œλ²„λ₯Ό μ‚¬μš©ν•˜κ³ μž ν•œλ‹€λ©΄ 각각 μ„œλ‘œ λ‹€λ₯Έ λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° 정보λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.

이λ₯Ό ν™˜κ²½λ§ˆλ‹€ μˆ˜λ™μœΌλ‘œ λ³€κ²½ν•˜λŠ” 것은 μ‹€μˆ˜λ₯Ό μœ λ°œν•˜κΈ° 쉽기 λ•Œλ¬Έμ—, Springμ—μ„œλŠ” Profileμ΄λΌλŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜μ—¬ μ‰½κ²Œ μ„€μ • 정보λ₯Ό ꡬ뢄할 수 μžˆλ„λ‘ ν•œλ‹€.

Profile κΈ°λŠ₯을 μ΄μš©ν•˜λ©΄, λ³„λ„μ˜ μ„€μ •(Configuration)을 μ΄μš©ν•˜μ—¬ μŠ€ν”„λ§ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ΄ˆκΈ°ν™”ν•  수 μžˆλ‹€.

μ‚¬μš©λ²•

λ‹€μŒκ³Ό 같이 @Profile μ–΄λ…Έν…Œμ΄μ…˜μ„ 톡해 ν™˜κ²½ λ³€μˆ˜λ₯Ό κ΅¬λΆ„ν•œλ‹€.

@Configuration
@Profile("dev")
public class DsDevConfig {

	... 개발 ν™˜κ²½μ—μ„œ ν•„μš”ν•œ ν™˜κ²½ λ³€μˆ˜λ“€

}
@Configuration
@Profile("prod")
public class DsProdConfig {

	... 배포 ν™˜κ²½μ—μ„œ ν•„μš”ν•œ ν™˜κ²½ λ³€μˆ˜λ“€

}

μ»¨ν…Œμ΄λ„ˆλ₯Ό μ΄ˆκΈ°ν™”ν•˜κΈ° μ „ μ‚¬μš©ν•  ν”„λ‘œν•„μ„ μ„ νƒν•˜λ©΄ λœλ‹€. μ•„λž˜μ˜ μˆœμ„œλŒ€λ‘œ μ‹€ν–‰ν•˜μ—¬μ•Ό ν•œλ‹€.

μ—¬λŸ¬ 개의 ν”„λ‘œν•„μ„ μ΄μš©ν•˜λŠ” 경우 μ—¬λŸ¬ 개의 ν”„λ‘œν•„λͺ…을 νŒŒλΌλ―Έν„°λ‘œ μ „λ‹¬ν•˜λ©΄ λœλ‹€.

λ˜λŠ” ν”„λ‘œν•„μ— μ—¬λŸ¬ 개의 이름을 μ§€μ •ν•˜κ³ μž ν•œλ‹€λ©΄ λ‹€μŒκ³Ό 같이 λͺ…μ‹œν•˜λ©΄ λœλ‹€.

λ‹€μŒκ³Ό 같이 λ””ν΄νŠΈ ν”„λ‘œν•„(ν”„λ‘œν•„ 선택문이 μ—†λŠ” 경우 μ μš©ν•  ν”„λ‘œν•„)을 μ§€μ •ν•  μˆ˜λ„ μžˆλ‹€.

Last updated