SpringBoot study1

  1. 设置maven

先检查jdk和maven是否安装
cmd输入java -version和mvn -v查看自己安装的版本信息。
在maven的bin文件下找到settings.xml文件在 中添加


  jdk-1.8
  
    true
    1.8
  
  
    1.8
    1.8
    1.8
  

  1. ieda设置
    IDEA需要把我们的Maven整合进来
    SpringBoot study1_第1张图片
    应用到自己的maven仓库 把两个override都点√应用
  2. 创建Maven项目

POM文件:

  1. 父项目

       org.springframework.boot
       spring-boot-starter-parent
       1.5.9.RELEASE
   
   它的父项目:
   
   	org.springframework.boot
   	spring-boot-dependencies
   	1.5.9.RELEASE
   	../../spring-boot-dependencies
   
   真正管理springboot里面的所有依赖版本

spring-boot-dependencies:核心依赖在父工程里
我们在写或者导入一些SpringBoot依赖的时候,不需要指定版本,因为有这些版本仓库。
2. 导入的依赖:
spring-boot-starter:spring-boot场景启动器;比如spring-boot-starter-web他就帮我们导入了web模块正常运行所依赖的组件。
springboot将所有功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关场景的所有的依赖都导入进来。使用哪个场景就配置哪个启动器。

  1. 自动配置原理:(注解底层是反射)
    入口类标注@SpringBootApplaction,说明和这个类是SpringBoot的主配置类,目的就是使启动类下的所有资源被导入;
    @SpringBootConfiguartion(springboot配置的注解):SpringBoot的配置类;
    @Configuration(spring配置的注解):配置类上来标注这个注解;配置类------配置文件;配置类也是容器中的一个组件;@Component标志这也是一个组件
    @EnableAutoConfiguartion:开启自动配置功能,这样自动配置才能生效;
    @AutoConfigurationPackage:自动配置包
    @import(AutoConfigurationPackages.Registrar.class):导入选择包,自动配置包注册,是spring的底层注解,给容器中导入一个组件;导入的组件由AutoConfigurationPackages.Registrar.class;
    将主配置类(@SpringBootApplaction标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器;
    自动配置的核心文件:META-INF/spring.factories
    SpringBoot study1_第2张图片
    SpringBoot从类路径下的META-INF/spring.factories中获取EnableAutoConfgiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置的工作;

SpringBoot所有自动配置都是在启动的时候扫描并加载,spring.factories所有的自动配置都在这里面,但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有了对应的启动器了,有了启动器,我们自动装配就会生效,然后就配置成功了。

你可能感兴趣的:(JavaEE)