documentos de referência: https://blog.csdn.net/BinshaoNo_1/article/details/85005935?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
Primavera para a configuração Java é alcançado (aqui referem-se a Bowen através @Configuration e @Bean duas notas https://blog.csdn.net/qq_41623154/article/details/104654953 , injeção de propriedade sobre springboot, não são detalhados explicar):
@Configuration pode atuar em qualquer classe que representa a classe é uma configuração de classe, de fato equivalente a um arquivo de configuração XML.
ato @Bean no método, na verdade, feijão arquivo de configuração XML equivalente, representa a criação de um feijão, tipo de valor de retorno representa o tipo de feijão, nome do método do feijão indica que o método de identificação.
Em Spring3.0, @ Configuração arranjado para definição de classes, o que corresponde ao arquivo de configuração XML no projeto springboot para substituir arquivo de configuração XML. classe interna anotada com um ou mais métodos de anotações @Bean, estes métodos irão ser digitalizada ou classe AnnotationConfigWebApplicationContext AnnotationConfigApplicationContext, e usado para construir recipientes bea mola de inicialização definido.
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver localeResolver(){
return new MyLocaleResolver();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/","/index.html","/login","/userLogin","/static/**");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
WebMvcConfigurer.super.addResourceHandlers(registry);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
/*设置默认跳转的请求视图*/
registry.addViewController("/").setViewName("login");
registry.addViewController("/index.html").setViewName("login");
registry.addViewController("/login").setViewName("login");
registry.addViewController("/main.html").setViewName("main");
}
}
Precauções: @Configuration classe de configuração anotação tem os seguintes requisitos:
- classe de configuração é final não;
- classe de configuração não pode ser classe anônima;
- classe de configuração classe aninhada deve ser estático;
@Configuration marcado na classe, tal como uma mola correspondente para o ficheiro de configuração XML <beans>
, como função: uma mola disposta recipiente (contexto de aplicação)
resumo
@Configuation equivalente a <Beans> </ beans>
@Bean equivalente a <bean> </ bean>
@ComponentScan 等价 于 <context: base-pacote de componente-scan =”com.study.mapper” />