**@Profile("local")
**은 스프링 프레임워크에서 특정 프로파일에 대한 빈(Bean) 구성을 정의하기 위한 애노테이션입니다.
@Profile
애노테이션은 빈이 특정 프로파일에서만 활성화되도록 지정할 수 있습니다. "local"은 프로파일의 이름을 나타내며, 이 경우에는 "local" 프로파일에 대한 빈 구성을 정의합니다.
스프링 애플리케이션을 실행할 때, spring.profiles.active
속성을 사용하여 활성화할 프로파일을 설정할 수 있습니다. 만약 spring.profiles.active
속성의 값이 "local"로 설정되면, @Profile("local")
애노테이션이 지정된 빈들이 활성화됩니다.
예를 들어, 다음과 같이 @Profile("local")
애노테이션을 사용하여 빈을 정의할 수 있습니다:
@Configuration
public class LocalConfig {
@Bean
@Profile("local")
public DataSource dataSource() {
// 로컬 환경에 맞는 DataSource 빈을 생성하거나 구성
return new LocalDataSource();
}
// 다른 환경에 맞는 빈들을 정의할 수도 있음
// ...
}
위의 예시에서 dataSource()
메서드는 "local" 프로파일에서만 활성화되는 빈으로 정의됩니다. 따라서 spring.profiles.active
속성이 "local"로 설정되었을 때, 해당 빈이 애플리케이션 컨텍스트에 등록되고 사용됩니다.
프로파일은 애플리케이션의 다양한 환경에 따라 설정을 분리하고 관리하는 데 유용합니다. @Profile
애노테이션을 사용하면 각 프로파일에 맞는 빈을 정의하여 환경에 따라 다른 동작을 수행할 수 있습니다.