# SpringBoot需要知道的内容 > SpringBoot四大核心 - EnableAutoConfiguration 自动装配 - Start组件 开箱即用 - Actuator 监控 - SpringBoot Cli > SpringBoot核心注解 - @SpringBootApplication 启动注解,组合注解 - @ComponentScan 扫描当前包和子包@Component注解修饰的类 - @SpringBootConfiguration 组合了configuration注解 - @EnableAutoConfiguration 打开自动装配功能 META-INF/spring.factories文件加载需要注入的Java类 --- ## @EnableAutoConfiguration Spring IoC加载Bean对象有四种配置方式 - xml通过标签 - java配置类 @Bean - 扫描 @Component - @Import开发层面比较少用,但是在框架层面用的比较多 ## 面试题 ### 1. Spring中的Bean是不是线程安全的? Spring中的Bean是从IOC中来的,IoC中的Bean从反射过来的, 反射读取配置文件得来的,配置文件中的Bean是自己写的 自己写的Bean看情况,不确定,不好说,不一定 ,跟spring无关,只是IoC 控制权反转(把new对象的控制权反转交给了Spring),没有做任何策略 ### 2. 自动配置的更改 Spring Boot 2.7.0对自动配置进行了不小的改动。 自动配置注册 现在Spring 自动配置类全限定名在META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports. 中;而以前在 META-INF/spring.factories中。现在仍然向后兼容,它们两个都会生效,但是不推荐从spring.factories加载自动配置。 新的@AutoConfiguration 注解 引入了新的@AutoConfiguration注释。 这个类用于声明在上面自动配置注册中的AutoConfig类,它替代了@Configuration,只有自动配置类才能使用。你还可以通过其 after、afterNames、before、beforeNames 属性代替 @AutoConfigureAfter和@AutoConfigureBefore ### 3.