@Configuration@Bean 을 수동으로 등록하기 위한 어노테이션@Configuration
public class SomeConfig {
@Bean
public ShineResource shine() {
return new ShineResource();
}
}@Bean 으로 수동 빈 등록을 위해서는 @Configuration이 필수적일까?그냥 아무
@Component에서 작업할 때 필요할 때 마다@Bean붙이면 해당 메서드는 빈으로 등록되는 거 아니야? 왜 굳이@Configuration안에서 해야 돼?
@Component가 있음에도 @Service를 사용하는 이유와 같다.@Bean 은 메서드에만 붙일 수 있다.@Bean 이 선언되어 있는 클래스 내부에서도 호출이 가능하다(self-invoke)@Configuration 은 적용받는 클래스를 프록시 객체(CGLIB)로 감싸고 내부적으로 @Bean 메서드들이 호출될 때 싱글톤 캐시를 활용하도록 오버라이딩한다.@Configuration 이 아니라 @Component 를 사용해도 @Bean 을 등록할 수 있지만 프록시를 통한 오버라이딩을 사용하지 않기 때문에 self-invoke시에는 싱글톤을 보장하지 않음. (이외의 경우에는 정상 동작함)@Import: 다른 @Configuration 클래스나 컴포넌트 클래스를 현재 설정에 추가로 등록한다..@PropertySource: 외부 프로퍼티 파일을 읽어 Spring Environment에 로드한다..@Profile: 지정한 프로파일이 활성화된 경우에만 빈이나 설정을 적용하도록 조건을 걸어준다.https://blogshine.tistory.com/551
https://dev-wnstjd.tistory.com/440
with GPT o4-mini-high