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日

相关文章

  • SpringMVC项目访问controller时候报404的解决

    当我们在SpringMVC项目中访问controller时,有时候会遇到404错误,这可能是由于多种原因引起的。本文将提供一些解决404错误的方法,并提供两个示例来说明这些方法的使用。 方法一:检查请求路径 当我们访问controller时,首先要检查请求路径是否正确。如果请求路径不正确,服务器将无法找到相应的controller,从而返回404错误。以下是…

    Java 2023年5月17日
    00
  • Hadoop中的压缩与解压缩案例详解

    下面就为您详细讲解“Hadoop中的压缩与解压缩案例详解”的完整攻略。 什么是Hadoop中的压缩与解压缩? 在Hadoop中,由于数据量通常都很大,为了提高数据的存储效率和运行效率,我们经常需要将数据进行压缩。同时,在MapReduce的过程中,也需要对数据进行解压缩以方便处理。 Hadoop支持多种数据压缩格式,包括Gzip、Bzip2、LZO等。在使用…

    Java 2023年5月20日
    00
  • Java面试题冲刺第二十三天–算法(2)

    Java面试题冲刺第二十三天–算法(2) 本文将介绍算法练习题目以及解题思路,帮助考生提升算法编程实战水平。以下为本文题目及解法。 题目1:二叉树的遍历 题目描述 有一个二叉树,请实现一个函数按照中序遍历,将节点中的数字打印出来,每个数字后面都跟着一个空格。 解题思路 二叉树的中序遍历是指:先遍历左子树,然后访问根结点,最后遍历右子树。对于这个题目,可以分…

    Java 2023年5月19日
    00
  • jsp实现从服务器下载xls文件到客户端的方法

    实现从服务器下载xls文件到客户端通常可以通过以下步骤来完成: 服务器端准备Excel文件 首先需要在服务器端生成或获取Excel文件。一种常见的方式是使用Java POI库来动态生成Excel文件。例如,以下代码可以生成一个包含数据的Excel文件: // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创…

    Java 2023年6月15日
    00
  • Maven 项目生成jar运行时提示“没有主清单属性”

    当我们使用Maven生成的jar包运行时,有时会遇到“没有主清单属性”的问题。这是因为在生成Jar包时,没有正确指定Main-Class。 以下是解决该问题的攻略: 第一步:确认pom.xml的配置 在Maven项目中,我们需要确保在pom.xml文件中指定了Main-Class属性,并且指向我们需要执行的程序入口。 <build> <pl…

    Java 2023年5月19日
    00
  • java正则表达式验证函数

    下面我将详细讲解“Java正则表达式验证函数”的完整攻略。 什么是正则表达式? 正则表达式是一种文本模式,可用于匹配或搜索文本中的特定模式。它是由一系列字符和元字符组成的表达式,这些字符和元字符可以用来匹配文本中的模式。 Java中的正则表达式 在Java中,正则表达式可以使用java.util.regex包中的类。其中最常用的类是Pattern和Match…

    Java 2023年5月26日
    00
  • Java Apache POI报错“IllegalArgumentException”的原因与解决办法

    “IllegalArgumentException”是Java的Apache POI类库中的一个异常,通常由以下原因之一引起: 参数错误:如果参数不正确,则可能会出现此异常。例如,可能会尝试使用错误的参数创建Excel单元格。 以下是两个实例: 例1 如果参数不正确,则可以尝试使用正确的参数以解决此问题。例如,在Java中,可以使用以下代码: Workboo…

    Java 2023年5月5日
    00
  • 解决angularjs前后端分离调用接口传递中文时中文乱码的问题

    当使用AngularJS进行前后端分离开发时,经常会出现调用接口传递中文时出现中文乱码的问题。这种问题通常是由于前后端使用的字符编码不一致导致的。下面给出一个完整的解决方案: 步骤一:后端设定字符编码 后端需要使用UTF-8字符编码来处理请求,确保在返回JSON数据时不会出现中文乱码。在Spring Boot框架中,可以在application.proper…

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