@Component, Spring 3 Layer Annotation 中 하나 (Controller, Service, Repository) 을 이용해 Bean 을 등록할 수 있다.
기술적인 문제 or 공통적인 관심사를 처리할 때 사용하는 객체들을 등록할 경우
공통 로그 처리와 같은 비즈니스 로직을 지원하기 위한 부가적이고 공통적인 기능들
수동 등록 시, Bean에서 문제가 발생했을 때 해당 위치를 파악하기 쉽다
@Configuration // Bean을 등록하는 메서드가 속한 클래스에 @Configuration 설정
public class PasswordConfig {
// Bean으로 등록하고자하는 객체를 반환하는 메서드 선언 + @Bean 설정
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}