SpringBoot server.port配置原理详解

让我们来详细讲解一下“SpringBoot server.port配置原理详解”。

什么是server.port配置

在SpringBoot应用中,我们可以通过server.port属性来指定应用的端口号。这个属性可以在配置文件(如application.properties、application.yml等)或者命令行参数中指定。

配置文件中指定server.port

在应用配置文件中(如application.properties、application.yml等)指定端口号,可以通过在配置文件中添加以下内容(以application.properties举例):

server.port=8080

通过这种方式指定端口号,SpringBoot会在应用启动时读取配置文件,从中读取server.port属性,然后将应用绑定到指定的端口上。

命令行参数中指定server.port

在命令行参数中指定端口号,可以使用以下命令:

java -jar your_application.jar --server.port=8080

通过这种方式指定端口号,SpringBoot会在应用启动时读取--server.port参数,然后将应用绑定到指定的端口上。

server.port配置原理分析

SpringBoot中的端口号配置实际上涉及到了两个部分:EmbeddedServletContainerCustomizerServerProperties

EmbeddedServletContainerCustomizer是一个接口,它的实现类可以用来定制嵌入式的Servlet容器。当SpringBoot应用启动时,SpringBoot会创建一个嵌入式的Servlet容器,并将应用绑定到容器上。而EmbeddedServletContainerCustomizer的实现类,就可以在容器创建时,对容器进行一些自定义的配置。SpringBoot提供了很多默认的EmbeddedServletContainerCustomizer实现类,其中有一个ServerPropertiesEmbeddedServletContainerCustomizer,它用来处理ServerProperties中的配置。

ServerProperties是一个自动配置类,它提供了一些默认的配置项。其中就包含了server.port属性。当SpringBoot应用启动时,ServerProperties会读取配置文件中的配置,并将其保存在内存中。然后,ServerPropertiesEmbeddedServletContainerCustomizer会将这些配置应用到Servlet容器上。

示例1:指定端口号为8080

下面是一个application.properties的例子,其中通过server.port属性指定了端口号为8080:

server.port=8080

当应用启动时,SpringBoot会读取配置文件,通过ServerProperties将端口号保存在内存中。然后,通过ServerPropertiesEmbeddedServletContainerCustomizer将端口号应用到嵌入式Servlet容器上。最终,应用会绑定到8080端口。

示例2:通过命令行参数指定端口号

下面是一个通过命令行参数指定端口号的例子:

java -jar your_application.jar --server.port=8080

当应用启动时,SpringBoot会读取命令行参数--server.port=8080,将端口号保存在内存中。然后,通过ServerPropertiesEmbeddedServletContainerCustomizer将端口号应用到嵌入式Servlet容器上。最终,应用会绑定到8080端口。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot server.port配置原理详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • JavaWeb开发入门第一篇必备知识讲解

    关于“JavaWeb开发入门第一篇必备知识讲解”的完整攻略,下面是详细的说明: JavaWeb开发入门第一篇必备知识讲解 什么是JavaWeb? JavaWeb是Java语言在Web应用程序领域中的应用,主要包括Servlet、JSP、Web服务等技术。JavaWeb技术架构主要是基于MVC思想,即模型(M)-视图(V)-控制器(C)。 Servlet Se…

    Java 2023年5月30日
    00
  • Java实战项目 健身管理系统

    Java实战项目健身管理系统是一个比较完整的综合性项目,其中包含了Java Web 开发和数据库操作等多个方面的知识。要完成这个项目,需要按照以下步骤进行: 1. 确定项目需求 首先,需要明确健身管理系统的功能模块,例如会员管理、健身计划管理、课程管理、教练管理等。可以根据具体项目需求和功能模块确定表结构设计、接口设计和页面设计等。 2. 搭建开发环境 在搭…

    Java 2023年5月20日
    00
  • java中synchronized锁的升级过程

    Java中的synchronized锁是一种用于实现线程同步的机制,它可以保证在多线程环境下的数据同步和共享资源的安全访问。在使用synchronized锁的时候,我们需要注意其锁的升级过程,因为锁升级过程直接影响着程序的性能和效率。 一、synchronized锁的升级过程 synchronized锁的升级过程可以分为三种状态,分别是无锁状态、偏向锁状态和…

    Java 2023年5月26日
    00
  • skywalking自定义插件开发

    skywalking是使用字节码操作技术和AOP概念拦截Java类方法的方式来追踪链路的,由于skywalking已经打包了字节码操作技术和链路追踪的上下文传播,因此只需定义拦截点即可。 这里以skywalking-8.7.0版本为例。关于插件拦截的原理,可以看我的另一篇文章:skywalking插件工作原理剖析 1. 创建插件模块 在 apm-sniffe…

    Java 2023年4月25日
    00
  • Jvm调优和SpringBoot项目优化的详细教程

    Jvm调优和SpringBoot项目优化的详细教程 在开发Java应用程序时,我们需要对JVM进行调优,以提高应用程序的性能和稳定性。同时,我们也需要对Spring Boot应用程序进行优化,以提高应用程序的响应速度和可靠性。本文将详细讲解如何进行JVM调优和Spring Boot项目优化。 Jvm调优 步骤一:设置JVM参数 我们需要设置JVM参数来调优J…

    Java 2023年5月15日
    00
  • MAGIX Movie Edit Pro 12 e-version v6.5.4.2 魔力视频编辑软件 下载

    下面是MAGIX Movie Edit Pro 12 e-version v6.5.4.2 魔力视频编辑软件的完整攻略: 1. 下载软件 首先,我们需要通过官方网站下载MAGIX Movie Edit Pro 12 e-version v6.5.4.2软件。打开浏览器,输入官方网站www.magix.com/cn并进入下载页面。找到MAGIX Movie E…

    Java 2023年6月16日
    00
  • SpringMVC+Shiro的基本使用及功能介绍

    SpringMVC+Shiro的基本使用及功能介绍 什么是Shiro Shiro是一个强大且易于使用的Java安全框架,它提供了身份验证、授权、加密、会话管理等功能,可以帮助我们快速构建安全的Web应用程序。 SpringMVC集成Shiro SpringMVC集成Shiro可以帮助我们快速构建安全的Web应用程序。以下是SpringMVC集成Shiro的基…

    Java 2023年5月17日
    00
  • springboot 使用mybatis查询的示例代码

    以下是关于”springboot 使用mybatis查询的示例代码”的完整攻略: 1. 准备工作 在开始之前,我们需要做一些准备工作: Java JDK 1.8 及以上版本 Gradle 或者 Maven 等构建工具 MyBatis 3 + SpringBoot 数据库(本示例使用 MySQL) 这些工具和技术是开发这个示例所需的基本要素。如果你已经安装好了…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部