sprintboot自动配置
⬅️ 上一篇: springboot系列二: sprintboot依赖管理
🎉 欢迎来到 springboot系列三: sprintboot自动配置 🎉
在本篇文章中,我们将深入探讨 Spring Boot 的自动配置机制。通过理解和使用自动配置,您可以快速构建功能强大的 Spring 应用程序,而无需繁琐的配置。
🔧 本篇需要用到的项目: quickstart项目
自动配置基本介绍
1.小伙伴还记得否, 前面学习SSM整合时, 需要配置Tomcat, 配置SpringMVC, 配置如何扫描包, 配置字符过滤器, 配置视图解析器, 文件上传等, 非常麻烦[如图]. 而在SpringBoot中, 存在自动配置机制, 提高开发效率.
2.简单回顾以前SSM整合的配置.
SpringBoot自动配置了哪些?
1.自动配置Tomcat
2.自动配置SpringMVC
3.自动配置Web常用功能: 比如字符过滤器. 提示: 通过获取ioc容器, 查看容器创建的组件来验证
修改D:\idea_project\zzw_springboot\quickstart\src\main\java\com\zzw\springboot\MainApp.java
/**
* @SpringBootApplication: 表示这是一个springboot引用/项目
*/
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
//启动springboot应用程序/项目
ApplicationContext ioc = SpringApplication.run(MainApp.class, args);
//如何查看容器中注入的组件
//① 打断点
//② 写代码
String[] beanDefinitionNames = ioc.getBeanDefinitionNames();
for (String beanDefinitionName : beanDefinitionNames) {
System.out.println("beanDefinitionName=" + beanDefinitionName);
}
}
}
beanDefinitionName=org.springframework.context.annotation.internalConfigurationAnnotationProcessor
beanDefinitionName=org.springframework.context.annotation.internalAutowiredAnnotationProcessor
beanDefinitionName=org.springframework.context.annotation.internalCommonAnnotationProcessor
beanDefinitionName=org.springframework.context.event.internalEventListenerProcessor
beanDefinitionName=org.springframework.context.event.internalEventListenerFactory
beanDefinitionName=mainApp
beanDefinitionName=org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory
beanDefinitionName=helloController 控制器
beanDefinitionName=org.springframework.boot.autoconfigure.AutoConfigurationPackages
beanDefinitionName=org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration
beanDefinitionName=propertySourcesPlaceholderConfigurer
beanDefinitionName=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$TomcatWebSocketConfiguration
beanDefinitionName=websocketServletWebServerCustomizer
beanDefinitionName=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration
beanDefinitionName=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedTomcat
beanDefinitionName=tomcatServletWebServerFactory
beanDefinitionName=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration
beanDefinitionName=servletWebServerFactoryCustomizer
beanDefinitionName=tomcatServletWebServerFactoryCustomizer
beanDefinitionName=org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor
beanDefinitionName=org.springframework.boot.context.internalConfigurationPropertiesBinderFactory
beanDefinitionName=org.springframework.boot.context.internalConfigurationPropertiesBinder
beanDefinitionName=org.springframework.boot.context.properties.BoundConfigurationProperties
beanDefinitionName=org.springframework.boot.context.