由于这些注解使用的不那么频繁,很容易忘掉,所以在此记录一下
1.@Configuration
标记在类上,相当于把该类作为spring的xml配置文件中的<beans>
,作用为:配置spring容器(应用上下文),相当于在启动容器时加载配置项,本人在项目中的应用主要是加载SpringMVC的拦截器。
@Configuration
public class TestConfiguration extends WebMvcConfigurerAdapter {
@Autowired
private AuthInterceptorHander authInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authInterceptor)
...
...
}
}
2.@ControllerAdvice是Spring3.2提供的新注解
-
@ControllerAdvice
是一个@Component
,用于定义@ExceptionHandler
,@InitBinder
和@ModelAttribute
方法,适用于所有使用@RequestMapping
方法。 -
Spring4之前,
@ControllerAdvice
在同一调度的Servlet中协助所有控制器。Spring4已经改变:@ControllerAdvice
支持配置控制器的子集,而默认的行为仍然可以利用。 -
在Spring4中,
@ControllerAdvice
通过annotations()
,basePackageClasses()
,basePackages()
方法定制用于选择控制器子集。