###前言 作为一位菜鸟级的码农,深感知识匮乏之窘境。在为此烦恼之时一朋友向我推荐了 Spring boot源码系列,站在巨人肩旁上学习之余向大家分享一些学有所得的干货。在了解

Spring Boot之前可先了解下

什么是Spring Boot 和

Spring Boot与Spring MVC的区别是什么? 从而对

Spring boot 有一个清晰的定位。


我们先看下百度百科的Spring Boot特点介绍

  1. 简化Maven配置,自动配置Spring、零配置启动
  2. 内置tomcatjettyundertow 三大web容器
  3. 将应用打包成为一个jar/war 通过jar启动应用

码农的福音战士,简化了开发前期的配置工作,极大的提高了码农们的生产力。 ###单刀主题 Spring Boot的一个及其吸引人的特性是将应用打包成jarwar包直接启动。我们可以先了解下jar解压包的MANIFEST.MF



从启动清单文件中我们知道有两个很重要的参数jar包启动类Main-Class及应用程序启动类Start-Class,其中Start-Class直指我们程序中的main函数类Application


在断点进入 Application.class代码,我们会执行了两个方法:一个是

initialize()初始化启动参数变量,最重要的是决定是否加载web容器

第二个 run()加载所需容器并启动

当你的微服务启动成功时你会看到 当你看到你控制台输出 Tomcat started on port(s): 8080 (http)你会有这样的疑问,我什么web服务器参数都没配置,怎么就占用了

8080端口启动,接着就会有以下疑问:要是我电脑

8080端口被占用了

Spring Boot Tomcat 不能正常启动,该怎么配置其他端口或是怎么配置其他个性化的参数。由于篇幅限制这些我都会在下期

Spring Boot 启动原理解析中详解

Tomcat加载启动,以及

Spring Boot是如何加载配置的。 ###末尾 知识源于点滴积累。每当回首过往码农路,他人问我技术问题而不能答上时而深感自行惭愧。与大家分享些技术干货,作为一个自我成长的切入点。本人才疏学浅,写的不对的或分析不够透彻的地方还望大家大刀予以斧正,也欢迎大家关注我的简书见证我的成长,名为

柴码


给自己定一小目标:每两周或一周一更
复制代码