https://juejin.im/post/5a3273a451882575d42f68f9

在解读embeddedTomcat容器启动之前有几个要点需读懂

  • Spring Boot @ConfigurationProperties 注解
  • Spring Boot容器的自动装载机制

@ConfigurationProperties

在上篇解读 Spring Boot 启动原理 中遗留一些问题:如何修改Tomcat端口、在Spring Boot如何修改其默认参数 、Spring Boot 如何读取application.properties配置参数。

首先要知道一个核心事件监听器ConfigFileApplicationListener在Spring Boot 微程序启动加载注册listener过程中首先加载的就是此监听器。这个监听器的核心作用就是读取application.properties配置文件内容。微程序的application.properties配置文件有4个默认路径:classpath:/,classpath:/config/,file:./,file:./config/

读取搭配配置文件中的参数后通过@ConfigurationProperties注解的一个松散的绑定机制注入到默认配置实体类中。我们可以在spring-boot-autoconfigure.jar架包中看到更多的默认配置。大家也可直接浏览官网提供的配置参数

Spring Boot 容器自动装载机制

Spring Boot 通过扫描classpath下的实例决定装载哪个web容器。pom.xml文件中添加web容器依赖

Jetty容器依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
Tomcat容器依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

在做Demo时我尝试引入TomcatJetty两个依赖,最后微程序选择启动了Tomcat

Spring Boot Tomcat 启动

最直接简单粗暴的启动解析。

在Tomcat的启动过程中我们会发现,Spring Boot自动装载Tomcat容器后启动过程中是通过Connector实例来设置微服务访问端口的。

作者:柴码
链接:https://juejin.im/post/5a3273a451882575d42f68f9
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://www.cnblogs.com/davidwang456/articles/9173862.html

Spring Boot的Tomcat 启动详解相关推荐

  1. Spring Boot的启动器Starter详解

    Spring Boot的启动器Starter详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs Spring Boot ...

  2. ElasticSearch——Spring Boot 集成 ES 操作详解

    文章目录 ElasticSearch--Spring Boot 集成 ES 操作详解 1.SpringBoot 集成 ES 2.索引的API操作详解 3.文档的API操作详解 ElasticSearc ...

  3. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一)

    spring boot+sqlite的配置,及成功运行详解 sqlite数据库的安装与调试 首先,通过sqlite官方地址下载对应的安装包 https://www.sqlite.org/downloa ...

  4. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (二)

    轻量级数据库sqlite,spring boot+sqlite的配置详解 (二) 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一) 首先,需要创建一个spring bo ...

  5. Spring Boot的SpringApplication类详解

    相信使用过Spring Boot的开发人员,都对Spring Boot的核心模块中提供的SpringApplication类不陌生.SpringApplication类的run()方法往往在Sprin ...

  6. spring boot application.properties 属性详解

    2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...

  7. Spring Boot jackson配置使用详解

    Spring Boot系列-json框架jackson配置详解 T1 - 前言 目前Java最常见的3中JSON操作框架分别为Gson.Jackson.FastJson,该篇文章主要讲解jackson ...

  8. spring boot 整合JSP(详解)

    在Web开发中,前端数据展示是项目的重要组成部分.JSP技术是常用的数据展示的模板引擎技术之一.Spring Boot默认支持的模板引擎有4种,分别是:FreeMarker.Groovy.Thymel ...

  9. 干货必看|Spring Boot整合MyBatis框架详解

    在开发中,我们通常会对数据库的数据进行操作,Sprirng Boot对关系型数据库和非关系型数据库的访问操作都提供了非常好的整合支持.所以今天壹哥就给大家讲解一下,如何在SpringBoot环境中整合 ...

最新文章

  1. 参加海峡两岸城市地理信息系统论坛2010 年会(一张图、规划信息化和空间句法的碎碎念)...
  2. mysql主从复制错误sql-running no
  3. python语言可以应用在哪些方面-python应用于哪些方面
  4. Centos 76分布式lamp平台
  5. 探索 Block 的本质
  6. Elasticsearch 摄取节点(Ingest Node)常用的数据处理器(Processor)
  7. 如何用c 语言编写阶乘程序,求10000的阶乘(c语言代码实现)
  8. torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor
  9. 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)
  10. 【遥感数字图像处理】基础知识:第三章 遥感数字图像几何处理
  11. 《MySQL8.0.22:Lock(锁)知识总结以及源码分析》
  12. SecureCRT 安装与配置大全
  13. 微信登录(官方指导)
  14. [Ansible专栏]Ansible条件判断的介绍和使用
  15. 【19调剂】苏州科技大学2019年硕士研究生招生预调剂公告
  16. donet还是java
  17. 运动控制中的速度控制
  18. 胖AP和瘦AP的区别、组网优缺点分析【转】
  19. 4.1 -Springboot 编写http接口
  20. 如何将协议规范变成开源库系列之 WebSocket (一)

热门文章

  1. linux 内核参数 杨,Linux 内核参数
  2. getrealdays oracle_oracle 日期函数介绍
  3. android edittext不可复制_Android EditText禁止复制粘贴
  4. 私聊模式的设计与实现
  5. 控件事件的绑定与取消
  6. smartfoxserver java客户端_SmartFoxServer之服务器篇一
  7. linux配置tomcat内存配置文件,Linux与Windows下tomcat内存设置
  8. java过程调用语句_Java之流程控制语句
  9. oracle 效率问题,Oracle【诡异】的效率问题
  10. EditText控件的基本使用(点击Button按钮,Toast提示EditText中的内容)