강의

멘토링

로드맵

Inflearn Community Q&A

kureung's profile image
kureung

asked

Spring MVC Part 2 - Backend Web Development Utilization Technology

질문 있습니다.

Written on

·

156

0

 

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LogInterceptor())
                .order(1)
                .addPathPatterns("/**")
                .excludePathPatterns("/css/**", "/*.ico", "/error");

        registry.addInterceptor(new LoginCheckInterceptor())
                .order(2)
                .addPathPatterns("/**")
                .excludePathPatterns("/", "/members/add", "/login", "/logout", "/css/**", "/error", "*.ico","/toy/**");

    }

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
        resolvers.add(new LoginMemberArgumentResolver());
    }
}

 

 

위 사진처럼 인터셉터를 등록할 때 @Bean 없이 등록했습니다. 그러면 WebConfig 클래스에  @Configuration 애노테이션 말고 @Component 애노테이션을 써도 상관 없는건가요? 

 

 

 

 

 

springMVC

Answer 1

0

안녕하세요. terry9611님, 공식 서포터즈 OMG입니다.

@Component로 해도 동작에는 문제가 없을거에요. 

하지만 @Component와 @Configuration은 다음과 같은 차이가 있습니다.

https://hyune-c.tistory.com/entry/Component-vs-Configuration

애노테이션의 목적에 맞게 사용해주세요.

설정파일에는 @Configuration을, 직접 작성한 클래스를 스프링 빈으로 (자동 스캔 대상) 등록할 경우에 @Component를 사용해주세요.

감사합니다.

kureung's profile image
kureung

asked

Ask a question