文章目录

  • 介绍
  • 使用Property文件
  • 在程序中指定
  • 使用命令行参数
  • 值生效的顺序

如何在Spring boot中修改默认端口

介绍

Spring boot为应用程序提供了很多属性的默认值。但是有时候,我们需要自定义某些属性,比如:修改内嵌服务器的端口号。

本篇文章就来讨论这个问题。

使用Property文件

第一种方式,也是最常用的方式就是在属性文件中,覆盖默认的配置。对于服务器的端口来说,该配置就是:server.port。

默认情况下,server.port值是8080。 我们可以在application.properties中这样修改为8081:

server.port=8081

如果你使用的是application.yml,那么需要这样配置:

server:port : 8081

这两个文件都会在Spring boot启动的时候被加载。

如果同一个应用程序需要在不同的环境中使用不同的端口,这个时候你就需要使用到Spring Boot的profile概念,不同的profile使用不同的配置文件。

比如你在application-dev.properties中:

server.port=8081

在application-qa.properties 中:

server.port=8082

在程序中指定

我们可以在程序中直接指定应用程序的端口,如下所示:

@SpringBootApplication
public class CustomApplication {public static void main(String[] args) {SpringApplication app = new SpringApplication(CustomApplication.class);app.setDefaultProperties(Collections.singletonMap("server.port", "8083"));app.run(args);}
}

另外一种自定义服务的方法就是实现WebServerFactoryCustomizer接口:

@Component
public class ServerPortCustomizerimplements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {@Overridepublic void customize(ConfigurableWebServerFactory factory) {factory.setPort(8086);
//        factory.setAddress("");}
}

使用ConfigurableWebServerFactory可以自定义包括端口在内的其他很多服务器属性。

使用命令行参数

如果应用程序被打包成jar,我们也可以在命令行运行时候,手动指定 server.port 。

java -jar spring-5.jar --server.port=8083

或者这样:

java -jar -Dserver.port=8083 spring-5.jar

值生效的顺序

上面我们将了这么多修改自定义端口的方式,那么他们的生效顺序是怎么样的呢?

  1. 内置的server配置
  2. 命令行参数
  3. property文件
  4. @SpringBootApplication配置的主函数

更多精彩内容且看:

  • 区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
  • Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新
  • Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
  • java程序员从小工到专家成神之路(2020版)-持续更新中,附详细文章教程

更多教程请参考 flydean的博客

如何在Spring boot中修改默认端口相关推荐

  1. spring boot中修改默认端口号

    原文:https://blog.csdn.net/zknxx/article/details/53433592 修改application.properties 第一种方式我们只需要在applicat ...

  2. 如何在Spring Boot中使用TDD写出高质量的接口

    本文发布于专栏Effective Java,如果您觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给您身边的工程师同学. 之前在<如何说服你的同事使用TDD>中介绍了为什么要 ...

  3. 如何安装html启动器,如何在Spring Boot中创建自己的启动器?

    如何在Spring Boot中创建自己的启动器? 也许你有一个内部库包或一个在整个应用程序环境中常用的开源库,如果要在多个Spring Boot应用程序中使用它,为它创建一个Spring Boot启动 ...

  4. 如何在Spring Boot中玩转智能合约【修订版】

    本文是由链博科技 ChainBoard.IO 为大家带来的web3j 对智能合约的调用.让 java 程序可以和我们的智能合约愉快的交互起来~ 一. 什么是 web3j web3j是一个高度模块化.响 ...

  5. 如何在Spring Boot中玩转智能合约

    本文是由链博科技 ChainBoard.IO 为大家带来的web3j 对智能合约的调用.让 java 程序可以和我们的智能合约愉快的交互起来~ 一.什么是 web3j web3j是一个高度模块化.响应 ...

  6. java option请求_如何在Spring Boot中处理HTTP OPTIONS请求?

    选项1:Spring Boot属性(仅限Spring Boot 1.3.0) 从Spring Boot 1.3.0开始,可以使用以下属性配置此行为: spring.mvc.dispatch-optio ...

  7. 面试官 | 如何在 Spring Boot 中进行参数校验?

    作者 | 狂乱的贵公子 来源 | cnblogs.com/cjsblog/p/8946768.html 开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码 这样写并没有什么错,还 ...

  8. spring boot 如何修改默认端口号和context path

    创建了SpringBoot项目之后进行运行,当我们需要使用游览器进行访问的时候要输入端口号,那麽我们如何来修改这个端口号呢??? 1.在src/main/resources目录下新建文件applica ...

  9. 如何在Spring Boot中使用Hibernate Natural ID

    首先,让我们关注所需类的实现.完成所有这些后,我们将能够为具有自然ID的实体提供存储库. 用自然ID编写实体 让我们考虑以下具有自动生成ID和自然ID(code列)的实体.这只是一个使用一个自然ID的 ...

最新文章

  1. 2022-2028年中国微藻行业市场调查研究及前瞻分析报告
  2. 【BZOJ4069】【APIO2015】巴厘岛的雕塑 [贪心][DP]
  3. MyBatis的架构设计以及实例分析--转
  4. currentThread()方法的作用
  5. gitlab备份与还原:配置文件解读、定时备份、云备份
  6. zabbix远程mysql_zabbix action 执行远程命令
  7. bat从数组中找出相同数字并删除_找到所有数组中消失的数字
  8. LeetCode 459. 重复的子字符串(数学)
  9. c语言程序设计教程赵乘,《C语言程序设计教程》例题源码.pdf
  10. Epic Games资深程序工程师王祢: 使用UE4制作VR内容的优化
  11. 【word使用技巧】删掉某一行参考
  12. CCF CSP 201512-02 消除类游戏
  13. 微信公众号支付开发(java)实例详解
  14. 3DMAX、MAYA、C4D区别
  15. ICommand、ITool中调用要素闪烁/定位的方法
  16. JS实现抽奖活动程序
  17. 深恶痛绝……残忍虐杀何时终止?
  18. JAVA毕业设计HTML5企业员工管理系统计算机源码+lw文档+系统+调试部署+数据库
  19. 航芯技术分享 | 一文读懂什么是量子密码
  20. js报错- cannot set property xxx of undefined

热门文章

  1. el-popover可以设高度_家用餐厅吧台桌高度一般多少?吧台设计需要注意哪些?...
  2. HDU3183(RMQ问题,ST算法)
  3. 漫游Kafka入门篇之简单介绍
  4. deque与vector的主要区别
  5. 1.5 MFC封装思想
  6. C++中空指针调用类成员函数的原理
  7. 从TCP到RDMA网络最新技术|扩展技术视野
  8. MySQL的索引特性
  9. C++中各种智能指针的实现及弊端(五)
  10. 李青源:高清体验和带宽节省,瞄准方向深耕