美文网首页
Spring Boot

Spring Boot

作者: 漂泊的胡萝卜 | 来源:发表于2018-09-03 21:49 被阅读0次

    Spring Boot是基于Spring框架而衍生出的框架,它主要是为了简化那么Spring Boot提供了哪些能力呢?

    1. 具备自动化配置能力,并通过starter简化Spring配置及依赖管理
      在Spring中,组件需要通过XML文件配置,这是繁琐冗余的一个过程,很多组件的配置往往是相同的,Spring Boot提供了spring-boot-starter-xxx帮助我们引入需要依赖的组件,简化配置,我们可以通过yaml文件(相比properties文件,更适合描述json数据)配置我们需要给出的属性。组件只要提供starter,我们在pom文件引入即可。

    2. 内置了Undertow、Netty、Tomcat等容器,不用再打war包,可以直接运行服务。

    1. 提供了健康检查等监控能力

    Spring Boot自动化配置

    Spring的自动化配置能力主要依赖三个注解:@EnableAutoConfiguration,@Configuration,@ComponentScan。

    @Configuration等价于XML配置的Beans,一般用于注解启动类。

    @EnableAutoConfiguration根据项目加入的依赖jar包,猜测需要引入的Bean实例,具体原理如下:从classpath中搜索所有META-INF/spring.factories配置文件然后,将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration key对应的配置项Bean加载到spring容器。只有配置文件中spring.boot.enableautoconfiguration为true(默认为true)的时候,才启用自动配置。
    另外,@EnableAutoConfiguration要和@Configuration一起使用。

    ComponentScan用于自动扫描发现组件,扫描到@Component、@Controller、@Service、Repository等注解的类,注册为Bean,结合@Autowired注解导入,即可收集所有的Spring组件。

    Spring Boot提供的监控能力

    Spring Boot Actuator是spring boot的一个附加功能,可以对应用程序及其生产环境进行监视。
    Actuator有2个重要的概念:EndPoint和Indicator。配置EndPoint可以对外提供监控信息,一个EndPoint对应若干个Indicator,通过Indicator获得监控信息。
    另外,我们可以定制化已有的或者新的EndPoint和Indicators。

    参考文献:
    https://www.jianshu.com/p/464d04c36fb1(@EnableAutoConfiguration原理解析)
    https://docs.spring.io/spring-boot/docs/2.1.0.M2/reference/htmlsingle/#boot-documentation
    (Spring Boot官方文档)

    相关文章

      网友评论

          本文标题:Spring Boot

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