学习总结——大道至简
1、SpringBoot优点:(为什么要用SpringBoot?)
SpringBoot其实是一整合Spring技术栈的一站式框架,简化了Spring的开发。优点如下:
- 简化了配置,不需要编写xml文件——starter场景启动器自动依赖组件
- 自动配置了所有第三方Jar——注解就自动配置了所有事情
- 内置Tomcat等Web容器
- 独立运行——可打成jar包直接运行
2、SpringBoot的核心注解是哪个?主要由哪些注解组成?
核心注解:@SpringBootApplication,组成如下:
- @SpringBootConfiguration:配置类,继承自@Configuration,给容器注册组件。
- @EnableAutoConfiguration:自动配置,底层是Spring原始注解
-
//Spring底层注解 @Import(AutoConfigurationImportSelector.class) /* 1. 利用getAutoConfigurationEntry(annotationMetadata)方法给容器中批量导入一些组件。 2. 调用List<String> configurations = getCandidateConfigurations(annotationMetadata, attributes);获取到所有需要导入到容器的中配置类。 3. 利用工厂加载Map<String, List<String>> loadSpringFactories(ClassLoader classLoader)得到所有组件。 4. loadSpringFactories方法中去获取指定路径下String FACTORIES_RESOURCE_LOCATION = "META-INF/spring.factories"; 5. 默认扫描当前系统里边所有META-INF/spring.factories位置的文件,spring-boot-autoconfigure-2.6.0-sources.jar包里面有spring.factories该文件。 6. spring.factories文件里面写死了SpringBoot一启动就要给容器中加载的所有配置类。 */ 
- @ComponentScan:指定扫描哪些Spring注解。
3、运行SpringBoot有哪几种方式?
- main方法所在的类运行Spring Boot APP启动即可。
- 命令行运行,打成jar包,使用java -jar 包名,执行即可。
- maven或gradle运行
4、SpringBoot的Starters?
场景启动器,包含很多依赖包,集成所有第三方应用,各种spring-boot-starter-开头。
5、SpringBoot的配置加载顺序?
- properties文件
- yml文件
- 系统环境变量
- 命令行参数
6、SpringBoot项目启动时如何执行特定代码?
可以创建一个类,去实现两个接口,重写接口的方法即可,可在项目启动时执行相应的定时任务之类的方法。方法如下:
- 实现ApplicationRunner接口
- 实现CommandLineRunner接口
@Component @Order(value = 1)//多个类实现该接口,可指定执行顺序 public class StartApplicationExecuteCode implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { // TODO Auto-generated method stub System.out.println("方法一:项目启动执行特定代码......"); } } //------------------------------------------------------------------------ @Component @Order(value = 1)//多个类实现该接口,可指定执行顺序 public class StartApplicationExecuteCode implements CommandLineRunner { @Override public void run(String... args) throws Exception { // TODO Auto-generated method stub System.out.println("方法二:项目启动执行特定代码......"); } }
7、SpringBoot需要独立的容器运行?
不需要独立的容器就可以运行,由于本身已经内置的有Tomcat、Jetty等Web服务器。
SpringBoot作为一站式框架,简化了Spring的开发,通过starter场景启动器自动依赖组件,内置Tomcat等Web容器,可直接打成jar运行。其核心注解@SpringBootApplication包含@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。项目启动时,可以通过实现ApplicationRunner或CommandLineRunner接口执行特定代码。SpringBoot配置加载顺序为:properties/yml文件、系统环境变量、命令行参数。无需独立容器,SpringBoot自身内置Web服务器。

117

被折叠的 条评论
为什么被折叠?



