Springboot的注解
@SpringBootApplication
:标注在某个类上说明这个类是springboot主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
点进这个注解,可以看到
@ComponentScan:对应xml的配置中元素
作用:自动扫描并加载符合条件的组件或者bean , 将这个bean定义加载到IOC容器中
@SpringBootConfiguration
作用:SpringBoot的配置类 ,标注在某个类上 , 表示这是一个SpringBoot的配置类;
继续进去这个注解查看
@Configuration,说明这是一个配置类 ,配置类就是对应Spring的xml 配置文件;
@Component 这就说明,启动类本身也是Spring中的一个组件而已,负责启动应用!
@EnableAutoConfiguration :开启自动配置功能;告诉SpringBoot开启自动配置功能,这样自动配置才能生效;
@AutoConfigurationPackage :自动配置包
@import :Spring底层注解@import , 给容器中导入一个组件
Registrar.class 作用:将主启动类的所在包及包下面所有子包里面的所有组件扫描到Spring容器 ;
@Import({AutoConfigurationImportSelector.class}) :给容器导入组件 ;
AutoConfigurationImportSelector :自动配置导入选择器,
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
SpringApplication.run分析
分析该方法主要分两部分,一部分是SpringApplication的实例化,二是run方法的执行;
谈谈对springboot的理解:
- 自动装配:
1. SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值 2. 将这些值作为自动配置类导入容器 , 自动配置类就生效 , 帮我们进行自动配置工作; 3. 整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中; 4. 会给容器中导入非常多的自动配置类 (xxxAutoConfiguration), 就是给容器中导入这个场景需要的所有组件 , 并配置好这些组件 ; 5. 有了自动配置类 , 免去了我们手动编写配置注入功能组件等的工作; - run():
到项目下的 resources 目录下新建一个banner.txt 即可。 图案可以到:https://www.bootschool.net/ascii 这个网站生成,
|