Spring boot场景启动器
运行的探究
1、pom.xml
1.父项目
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <!-- 点进spring-boot-starter-parent--> <parent><!-- 他是来真正管理spring boot 应用里面所有的版本依赖 --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.5.9.RELEASE</version> <relativePath>../../spring-boot-dependencies</relativePath> </parent>
Spring Boot的版本仲裁
以后我们导入依赖默认是不需要写版本的(没有在dependencies里面管理的自然需要声明版本号)
2.导入依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>spring-boot-starter-web
spring-boot-starter:spring boot的启动器;帮我们导入正常运行所依赖度额组件
spring boot 将所有的功能场景都抽取出来,做成一个个starter(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器
spring-boot-starter-web
2.主程序类,入口类
/** * @SpringBootApplication 标明一个主程序类 说明这是一个spring boot应用 */ @SpringBootApplication public class HellowWordMainApplication { public static void main(String[] args) { //spring 应用启动起来 SpringApplication.run(HellowWordMainApplication.class,args); } }
@SpringBootApplication:Spring Boot 应用标注在某个类上说明这个类是spring boot的主配置类,springBoot就应该运行这个类的main方法来启动springboot应用
(Ctrl 点开这个注解)
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication {
@SpringBootConfiguration:spring boot的配置类
标注在某个类上,表示这是一个springboot的配置类
@Configuration:配置类上来标注这个注解
配置类----配置文件;配置类也是容器中的一个组件@Component
@EnableAutoConfiguration:开启自动配置功能;
以前需要配置的东西;springboot自动帮我们配置;@EnableAutoConfiguration告诉springboot开启自动配置功能;这样自动配置功能才能生效
@AutoConfigurationPackage @Import({EnableAutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration {
@AutoConfigurationPackage
@Import({Registrar.class})spring的底层注解@Import给容器导入一个组件,导入的组件由Registrar.class,
将主配置类(@SpringBootApplication标注的类)的所在包及下面所有的子包里面的所有组件扫描到Spring容器
@Import({EnableAutoConfigurationImportSelector.class})
给容器中导入组件?
EnableAutoConfigurationImportSelector:导入那些组件的选择器
将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中;
会给容器中导入非常多的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景所需要的所有组件,并配置好这些组件;
有了自动配置类,免去了我们手动编写配置注入功能组件等工作;
SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class,classLoader);
springboot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguratio获取的值,将这些值作为自动配置类导入到容器中,自动配置类就生效了,帮我们进行自动配置工作以前我们需要配置的东西,自动配置类都帮我们配置好
- SpringBoot| 怎么找到我们需要的场景启动器的配置?
- SpringBoot场景启动器—Starts(1.5.9.RELEASE)
- SpringBoot学习_父项目和场景启动器
- springboot 场景启动器使用解析
- spring boot starter启动器介绍
- SpringBoot整合RabbitMQ之典型应用场景实战二
- Spring-boot 的启动器 (摘自 Spring-boot 1.4.4 官方文档)
- Spring Boot应用启动器
- Spring Boot的启动器各个Starter解释
- Spring Boot测试打桩-Mockito在Spring Boot中的常见测试场景
- Spring Boot应用启动器
- springBoot应用启动器基本的一共有44种
- Spring Boot的启动器Starter详解
- 【Spring Boot 系列 自定义启动器Starter】
- SpringBoot实现ApacheMQ(应用场景)
- Spring Boot Runner启动器
- SpringBoot-启动器
- Spring Boot的启动器Starter详解
- Spring Boot的启动器Starter系列
- SpringBoot整合RabbitMQ之 典型应用场景实战一