一 SpringBoot - SpringBoot 初识( 二 )


一 SpringBoot - SpringBoot 初识

文章插图
4.点击  spring-boot-parent 中的依赖 spring-boot-dependencies
一 SpringBoot - SpringBoot 初识

文章插图
5、在 spring-boot-dependencies 中可以看到  springboot对一些依赖的版本进行了版本控制,和冲突处理
一 SpringBoot - SpringBoot 初识

文章插图
6、SpringBoot应用的maven 插件<!--     SpringBoot应用的maven 插件,可以将当前SpringBoot 项目直接打包成一个可以执行的jar包,区别与普通jar包(里面没有源码),不能被依赖(比如fastjson依赖jar等)      即:可以直接通过java -jar 项目指定jar包 命令快速启动项目--><plugin>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-maven-plugin</artifactId></plugin>7、SpringBootApplication 注解详情此注解,就是SpringBoot应用的核心启动类;
一 SpringBoot - SpringBoot 初识

文章插图
7.1 @SpringBootConfiguration 注解标注的类就是SpringBoot的核心配置类,是SpringBoot的专属注解,实际上跟 @Configuration 注解一致(等同于以前的核心配置文件),在SpringBoot应用启动时,会自动加载;
一 SpringBoot - SpringBoot 初识

文章插图
@SpringBootConfiguration  实际上跟 @Configuration 注解一致;
一 SpringBoot - SpringBoot 初识

文章插图
7.2 @EnableAutoConfiguration 注解开启自动配置注解,以前都是手动创建xml核心配置文件,文件中增加核心配置,现在都交给SpringBoot框架自动配置;
一 SpringBoot - SpringBoot 初识

文章插图
7.2.1 子注解 1 @AutoConfigurationPackage 子注解
  • 开启自动配置包,实际上就是开启spring的自动扫描功能;

一 SpringBoot - SpringBoot 初识

文章插图
7.2.1.1 子注解 1 的子注解 @Import(AutoConfigurationPackages.Registrar.class)@Import(AutoConfigurationPackages.Registrar.class)将springBoot核心启动类所在的父包及子包中所有的组件,自动添加到容器中
一 SpringBoot - SpringBoot 初识

文章插图
  • 找到 springBoot核心启动类所在的父包  加载的位置
1、点击进入 @Import(AutoConfigurationPackages.Registrar.class)
一 SpringBoot - SpringBoot 初识

文章插图
2、点击 Evalute Expression
一 SpringBoot - SpringBoot 初识

文章插图
3、执行Evalute可以看出是将springBoot核心启动类所在的父包及子包中所有的组件,自动添加到容器中
一 SpringBoot - SpringBoot 初识

文章插图

一 SpringBoot - SpringBoot 初识

文章插图
7.2.2 子注解 2 @Import({EnableAutoConfigurationImportSelector.class})
  • 开启自动配置将springboot框架下MET-INF/spring/spring.factories资源文件中,属性值 org.springframework.boot.autoconfigure.EnableAutoConfiguration 指定的96个自动配置类,导入到容器中,实现自动配置,省去开发人员手动添加组件到容器中,减少开发的工作量,重心都放在核心业务开发中,不是配置上;

一 SpringBoot - SpringBoot 初识

经验总结扩展阅读