SpringBoot介绍

SpringBoot核心特性

Spring boot是一个脚手架,构建于Spring框架(Framework)基础之上,基于快速构建理念,提供了自动配置功能,可实现其开箱即用特性(创建完一个基本的项目以后,可零配置或者少量配置即可运行我们的项目),其核心主要有如下几个方面:
▪起步依赖(Starter Dependency)-项目创建时底层帮你关联依赖。
▪自动配置(Auto Configuration)。
▪健康检查(Actator)-监控。

起步依赖

起步依赖本质是Mavenue项目对象模型(pom),定义了对其他库的传递依赖,依赖+依赖+。。。支持某项功能


    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.4.RELEASE
         
    


    
        com.jt
        jt-common
        1.0-SNAPSHOT
    

之前maven项目需要关系依赖的版本等等,现在只需关注springboot的版本,其他依赖springboot会帮我们进行管理。

自动配置-开箱即用



        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

@EnableAutoConfiguration是实现自动配置的入口,该注解通过@Import注解导入了AutoConfigurationImportSelector.class,在该类中加载配置信息,然后删选出以EnableAutoConfiguration为key的数据,加载到IOC容器中,实现自动配置功能。

健康检查

Spring Boot 中actuator模块提供了健康检查,审计、指标收集,HTTP跟踪等功能,可以帮助我们更好的管理和跟踪springboot项目。
第一步:添加依赖


    org.springframework.boot
    spring-boot-starter-actuator

第二步:yml配置文件配置actuator选项

management.endpoints.web.exposure.include=*

第三步:重启服务器,访问webUI
http://localhost/actuator
SpringBoot介绍_第1张图片

SpringBoot的启动过程

项目的入口类使用了@SpringBootApplication注解描述,此注解内是:

  • @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。在启动类里面标注了@Configuration,意味着它其实也是一个 IoC容器的配置类.
  • @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。springboot 应用把所有符合条件的@Configuration 配置都加载到当前 SpringBoot 创建并使用的 IoC 容器中。
  • @ComponentScan:Spring组件扫描。默认会扫描当前 package 下的的所有加了@Component 、@Repository、@Service、@Controller的类到 IoC 容器中;

SpringBoot介绍_第2张图片
SpringBoot 项目在启动时,首先基于启动入口类上的注解描述,进行自动配置并扫描指定包以及子包中的类进行加载,然后检测类上是否有Spring框架中指定的注解描述(例如@Component,@Controller,@Service等)。假如有,则将类交给Spring框架中的BeanFactory工厂接口的实现类对象,此工厂对象会基于反射创建Bean的实例,假如此Bean指定了生命周期方法,还会调用生命周期方法。当实例创建以后,Spring框架还会基于类的作用域描述,将实例存储到不同作用域的容器中。以实现Bean对象的科学应用。

你可能感兴趣的:(springboot)