springboot自动装配主要是基于注解编程和约定大于配置的思想设计
核心步骤:
1 组件必须包含@configuration并声明为@bean注解返回注入到IOC容器中
2 第三方jar包,根据/meta-inf/目录下增加spring.factories文件加载配置文件中的内容
3 springboot获取到第三方jar包后,通过ImportSelector接口来完成动态加载
这样大幅减少了大量臃肿的配置文件,各模块之间的依赖也实现了深度解耦,比如说我们创建spring中web应用程序时要引入非常多的maven依赖,而springboot只需要引入一个spring-boot-start-web来创建web应用程序,并且springboot把我们常用的依赖都放在了一起,所以我们只需要引入spring-boot-start-web就能完成一个简单的web程序
1步骤:通常情况下,通过@Configuration
和 @Bean
注解自动配置的是自己自定义配置类
比如WebMvcConfigure的配置更改
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@Configuration
@EnableWebMvc
public class CustomWebMvcConfig implements WebMvcConfigurer {
@Bean
public CustomViewResolver customViewResolver() {
// 配置自定义视图解析器
return new CustomViewResolver();
}
// 可以在这里添加其他自定义配置,如拦截器等
}
3步骤主要是第三方,也就是springboot自带的很多jar包