乐趣区

关于springboot:SpringBoot介绍

SpringBoot 外围个性

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

起步依赖

起步依赖实质是 Mavenue 我的项目对象模型(pom),定义了对其余库的传递依赖,依赖 + 依赖 +。。。反对某项性能

<!--
        作用 1: parent 标签 集中定义了 SpringBoot 所有依赖 jar 包的版本信息.
             由官网解决了 jar 包冲突性问题.
        作用 2: 本地仓库中没有该文件的 jar 包 parent 示意的是一个聚合工程(定义).
    -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
<!--3. 依赖工具 API-->
<dependencies>
    <dependency>
        <groupId>com.jt</groupId>
        <artifactId>jt-common</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

之前 maven 我的项目须要关系依赖的版本等等,当初只需关注 springboot 的版本,其余依赖 springboot 会帮咱们进行治理。

主动配置 - 开箱即用

<dependencies>

        <!--
            手动依赖项 该依赖项被 springBoot 进行了高度的整合
            springBoot 帮忙大家动静的生成了配置我的项目, 简化了配置的步骤
            该配置称之为自动化的配置信息
            spring-boot-starter springBoot 自动化的启动项.
            开箱即用: 只须要导入 jar 包简略的配置即可实现对应的性能.
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

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

健康检查

Spring Boot 中 actuator 模块提供了健康检查,审计、指标收集,HTTP 跟踪等性能,能够帮忙咱们更好的治理和跟踪 springboot 我的项目。
第一步:增加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

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

management.endpoints.web.exposure.include=*

第三步:重启服务器,拜访 webUI
http://localhost/actuator

SpringBoot 的启动过程

我的项目的入口类应用了 @SpringBootApplication 注解形容,此注解内是:

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


我的项目启动时产生的过程:

SpringBoot 我的项目在启动时,首先基于启动入口类上的注解形容,进行主动配置并扫描指定包以及子包中的类进行加载,而后检测类上是否有 Spring 框架中指定的注解形容(例如 @Component,@Controller,@Service 等)。如果有,则将类交给 Spring 框架中的 BeanFactory 工厂接口的实现类对象,此工厂对象会基于反射创立 Bean 的实例,假如此 Bean 指定了生命周期办法,还会调用生命周期办法。当实例创立当前,Spring 框架还会基于类的作用域形容,将实例存储到不同作用域的容器中。以实现 Bean 对象的迷信利用。

退出移动版