인프런 커뮤니티 질문&답변
Handler 등록 방식 궁금증
작성
·
179
0
8:34초에서 AjaxSecurityConfig.java 파일에서
authenticationEntryPoint는
new AjaxLoginAuthenticationEntryPoint() 이렇게 등록하고
accessDeniedHandler는 @Bean으로 등록 후
return new AjaxAccessDeniedHandler() 하시는데
궁금증이 생겨 질문드립니다.
앞서 강의 내용까지 참고하면
SecurityConfig 파일에 커스텀한 handler를 등록 할 때
1. @Autowired
2. @Bean 등록 후 return new CustomHandler()
3. 바로 new CustomHandler()해서 등록
이렇게 3가지 방식으로 작성하시는데 차이가 있나요?
답변 1
0
정수원
지식공유자
네 객체를 스프링 빈으로 생성할 것인지 아니면 일반 객체로 생성할 것인지의 차이라고 할 수 있는데
빈으로 생성해야 할 이유가 있을 경우에는 1, 2번이 해당되고 그렇지 않으면 3번으로 바로 생성하면 됩니다.
방식의 차이는 있지만 기능은 모두 동일하게 동작합니다.
빈으로 생성한다는 의미는 스프링에서 제공하는 여러 기능들을 사용하기 위함입니다.
특히 DI 를 사용하는 경우이겠죠
굳이 빈으로 사용할 이유가 없을 경우에는 일반 객체로 생성해도 무방합니다.
어차피 스프링 시큐리티가 초기화 할 때 빈이든 일반 객체든 생성은 한번 되는 것이기 때문에 동작은 동일합니다.
사용하고자 하는 용도에 따라 구현하시면 됩니다.




