在上一篇启动原理解析中的对 Spring Boot的启动原理 进行了初略的解读,下面接着上篇的篇幅对大家常用的 Tomcat web 容器在 Spring-Boot 中启动机制进行详解。
在解读 embeddedTomcat 容器启动之前有几个要点需读懂
Spring Boot @ConfigurationProperties 注解 Spring Boot 容器的自动装载机制 在上篇解读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 架包中看到更多的默认配置。大家也可直接浏览官网提供的配置参数
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 时我尝试引入 Tomcat 、 Jetty 两个依赖,最后微程序选择启动了 Tomcat 。
最直接简单粗暴的启动解析。
Connector
实例来设置微服务访问端口的。
三人行,必有我师。在给大家分享干货的同时,才疏学浅还望大家大刀予以斧正。也欢迎关注我的简书,名称为 柴码