springboot自动配置原理面试题(自用)

springboot自动装配主要是基于注解编程和约定大于配置的思想设计

springboot自动配置原理面试题(自用)_第1张图片

核心步骤:

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包

你可能感兴趣的:(spring,boot,java,spring)