我正在开发一个包含Spring MVC拦截器的jar。我希望每个Spring MVC Web应用程序都将该jar作为依赖项添加到拦截器中。
目标应用程序配置了xml。
在我的jar中,我可以使用XML:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/mynewinterceptor/**" />
<bean class="com.codependent.myapp.interceptor.MyNewInterceptor">
</bean>
</mvc:interceptor>
</mvc:interceptors>
这样,应用程序将导入它并获取拦截器注册。但是我希望它是透明的,也就是说,我希望只是添加他们获得拦截器的jar。
请注意,所有应用都已扫描com.xxx.plugin包,寻找bean。我想可以使用位于我的jar中的那个包中的某种Spring post处理器来完成...
答案 0 :(得分:2)
尝试,
@Configuration
@ComponentScan({"com.include.your.jar.package"})
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter {
@Autowired
private HandlerInterceptor[] inteceptors;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(inteceptors).addPathPatterns("/");
}
}