Skip to content

[Spring] Bean 객체와 Bean이 아닌 객체를 구별하는 방법 #152

Answered by PFCJeong
SeonghaeJo asked this question in Q&A
Discussion options

You must be logged in to vote

안녕하세요~ 너무 좋은 주제네요

(1)

정확하지 않을 수 있지만, 결론만 말씀드리면 인자로 받은 resolvers는 빈이 아닙니다.

week1 세미나에서 RequestHandlerMapping를 다뤘었는데요. 정확히 설명은 안드렸는데 DispatcherServlet이 요청을 처리할 때 RequestHandlerMapping 말고도 RequestHandlerMappingAdapter를 사용합니다. (요 클래스는 pdf 18쪽 이미지에 등장하긴 합니다)

스프링에서 RequestHandlerMappingAdapter를 빈으로 만드는데요, RequestHandlerMappingAdapter는 프로퍼티로 argumentResolvers를 가지고 있습니다.

언급해주신 resolvers는 빈 리스트로 시작해서 여러 addArgumentResolvers()의 인자로 들어가서, 점차 채워집니다. 그리고 채워진 resolvers가 RequestHandlerMappingAdapter의 argumentResolvers 프로퍼티로 들어가게 됩니다.

(2)

@Configuration이 붙은 클래스의 함수에서 인자가 Bean임을 확인하는 방법은 간단한데요. 함수에 @Bean 어노테이션 여부가 곧 인자가 빈인지 아닌지를 결정합니다.

@Configuration
class ConfigA {
    
    @Bean
    fun beanB(a: BeanA):…

Replies: 3 comments 2 replies

Comment options

You must be logged in to vote
1 reply
@PFCJeong
Comment options

Comment options

You must be logged in to vote
0 replies
Answer selected by SeonghaeJo
Comment options

You must be logged in to vote
1 reply
@PFCJeong
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
Spring Spring 관련 내용
2 participants