• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

CustomAuthProvider 를 @Bean 대신 @Component 로 했을 경우의 질문

21.07.12 01:22 작성 조회수 167

0

깊이 있는 좋은 강의 만들어 주셔서 감사드립니다.

저는 평소 생성자 DI 를 통한 주입 할당이 권장하는 방식이라고 알고있었는데 강사님께서 구현하실때 필드 @Autowired 를 사용하셔서 궁금증이 생겼습니다.

질문

  1. DI 자원을 주로 `필드 @Autowired` 를 하신 이유는,
    강의 예제상 편의를 위해 하신게 맞나요?

  2. CustomAuthenticationProvider 를
    아래와 같이 @Component 로 만들어 추가 @Bean 등록 없이 사용하려는데 실무상  Security 설정에서  이런 방식은 적절한 방법인지, 강사님에 의견이 궁금합니다

    @Component
    public class CustomAuthenticationProvider implements AuthenticationProvider {

    private final PasswordEncoder passwordEncoder;
    private final UserDetailsService userDetailsService;

    @Autowired
    public CustomAuthenticationProvider(PasswordEncoder passwordEncoder,
    UserDetailsService userDetailsService) {
    this.passwordEncoder = passwordEncoder;
    this.userDetailsService = userDetailsService;
    }
    }

읽어주셔서 감사합니다.

답변 1

답변을 작성해보세요.

1

빈을 생성하는 방식은 여러가지 인데 어떤 방식을 사용하셔도 상관없습니다.

저는 편리상 @Autowired 를 사용한 것 뿐입니다.

그리고 @Component 나 @Bean 도 어떻게 생성하는 것이 활용도에 있어서 좋은 것인지 선택의 문제이지 기능상 아무런 문제가 없습니다.

감사합니다