美文网首页
1、SpringBoot基本情况

1、SpringBoot基本情况

作者: chanyi | 来源:发表于2021-07-27 10:32 被阅读0次

    1、SpringBoot基本信息

    SpringBoot是Pivotal团队在2013年开始研发,到2014年4月首次发布的一个基于Spring4.0的轻量级快速开发框架。用来简化Spring应用的初始搭建以及开发过程

    2、SpringBoot的特点

    1、遵循约定优于配置的原则(convention over configuration
    2、提供start pom,进行搞笑的包管理
    3、简化配置,无需xml
    4、内嵌servlet容器
    5、与主流框架集成简单

    3、SpringBoot的核心

    1、自动配置(auto-configuration
    2、starter
    3、SpringBoot Cli
    4、actuator

    3.1、自动配置(装配 )

    配置加载的三个阶段:

    1、第一个阶段:
    使用.xml文件的配置

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
        default-lazy-init="true">
    <bean id="mockService" class="..MockServiceImpl">
      <propery name ="dependencyService" ref="dependencyService" />
    </bean>
    <bean id="dependencyService" class="DependencyServiceImpl"></bean>
    </beans>
    

    2、第二个阶段
    Spring3.0之后提出@Configuration注解。@Configuration注解用来定义配置类,和@Bean注解搭配使用。
    @Configuration注解相当于xml文件中的<beans>标签

    @Configuration
    public class MockConfiguration{
      @Bean
      public MockService mockService(){
        return new MockServiceImpl(dependencyService());
      }
      @Bean
      public DependencyService dependencyService(){
        return new DependencyServiceImpl();
      }
    }
    

    3、第三个阶段
    SpringBoot的自动配置,不用写xml文件,不用写@Configuartion类,直接通过读取properties文件填写配置即可。
    自动装配的实质是:

    • 1、继承spring-boot-starter-parent,继承spring-boot-depencies,引入spring-boot-autoconfigure
    • 2、使用注解@EnableAutoConfiguration
      注解@EnableAutoConfiguration内部使用了@Import注解,导入了AutoConfigurationImportSelector类(具体代码:@Import({AutoConfigurationImportSelector.class}))
      AutoConfigurationImportSelector继承并实现ImportSelector
    • 3、通过selectImports加载自动配置信息
    • 4、通过getCandidateConfigurations加载META-INF/spring.factories文件
    • 5、spring.factories文件中存放需要加载的类路径
    • 6、spring官方已经继承了1百多个框架
    • 7、第三方集成的框架有MybatisAutoConfigurationDubboAutoConfigurationPageHelperAutoConfiguartion
    3.2、starter pom

    starter是Springboot中一个非常重要的模块,Starter相当于模块,能将模块所需要的依赖的所有依赖整合起来,并对模块内的Bean根据条件自动配置,使用者只需要依赖相应功能的Starter即可,无需增加更多的配置和依赖,SpringBoot自动扫描并加载对应模块里的类

    常用的自定义的starter

    • mybatis-spring-boot-starter
    • pagehelper-spring-boot-starter
    • dubbo-spring-boot-starter

    实现自定义starter的步骤:

    1、新建一个Maven项目,在项目的pom文件中定义使用的依赖
    2、新建的配置类,写好配置项和默认的配置值,指明配置项前缀
    3、新建自动装配类,使用@Configuration@Bean来进行自动装配
    4、新建spring.facatories文件,指定starter的自动装配类

    3.3、SpringBoot CLI

    SpringBoot CLI是一种快速开发Spring应用的命令行界面,可以通过写groovy脚本来实现Spring应用的编写和启动。

    3.4、Actuator

    Actuator是SpringBoot提供的对应用程序系统的监控功能,可以对应用系统进行配置查看和相关功能的统计
    Actuator功能的使用

    • 1、添加依赖
         <dependency>
               <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-actuator</artifactId>
              <version>2.5.1</version>
         </dependency>
    
    • 2、添加配置文件
    management.server.port=8899 actuator的监视端口
    management.server.servlet.context-path=/actuator 访问路径
    management.endpoints.web.exposure.include=* 默认开始health和info,设置*包括所有的web端口
    management.endpoint.shutdown.enabled=true 打开默认关闭的shutdown端点
    

    结尾

    参考文档

    相关文章

      网友评论

          本文标题:1、SpringBoot基本情况

          本文链接:https://www.haomeiwen.com/subject/myrgmltx.html