修改Springboot启动端口号

您所在的位置:网站首页 如何更改端口号 修改Springboot启动端口号

修改Springboot启动端口号

2023-10-06 22:57| 来源: 网络整理| 查看: 265

前言

Springboot启动的时候,端口的设定默认是8080,这肯定是不行的,我们需要自己定义端口,Springboot提供了两种方式,第一种,我们可以通过application.yml配置文件配置,第二种,可以通过代码里面指定,在开发中,建议使用修改application.yml的方式来修改端口。  

一、pom.xml 4.0.0 com.guoxin SpringbootTest 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-parent 1.4.0.RELEASE org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-web SpringBootTest org.springframework.boot spring-boot-maven-plugin

 

二、修改配置文件改端口

application.yml和properties配置文件一样,但是相对于properties文件更加简约一些。 application.yml:

server: #端口号 port: 8888 #项目名,如果不设定,默认是 / context-path: /demo

application.properties:

server.port=8081 server.context-path=/demo

在这里插入图片描述

三、代码指定端口

方法一: 这种方式,是通过编码的方式来硬性的指定了端口的配置

import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer; import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; import org.springframework.boot.web.support.SpringBootServletInitializer; @SpringBootApplication public class ConfigMain extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(ConfigMain.class); } @Override public void customize(ConfigurableEmbeddedServletContainer container) { //指定项目名称 container.setContextPath("/demo"); //指定端口地址 container.setPort(8081); } public static void main(String[] args) { SpringApplication.run(ConfigMain.class, args); } }

方法二: 这种方法有springboot版本的限制,1.3.x即以前的好使,1.4.x就不建议使用了(import org.springframework.boot.context.embedded.ServletContextInitializer;ServletContextInitializer被划了黑色的横线,后来发现虽然没报错,但是访问页面却没有,说明不能正常使用),1.5.x即以后就已经没法用了(前面引的包会报错)

import org.apache.catalina.connector.Connector; import org.apache.coyote.http11.Http11NioProtocol; import org.springframework.boot.context.embedded.EmbeddedServletContainer; import org.springframework.boot.context.embedded.ServletContextInitializer; import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; import org.springframework.stereotype.Component; @Component public class MyEmbeddedServletContainerFactory extends TomcatEmbeddedServletContainerFactory { public EmbeddedServletContainer getEmbeddedServletContainer(ServletContextInitializer... initializers) { this.setPort(8081); this.setContextPath("/demo"); return super.getEmbeddedServletContainer(initializers); } // protected void customizeConnector(Connector connector) { // super.customizeConnector(connector); // Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); // // 设置最大连接数 // protocol.setMaxConnections(2000); // // 设置最大线程数 // protocol.setMaxThreads(2000); // protocol.setConnectionTimeout(30000); // } }

 

四、使用启动命令

nohup java -jar -Dspring.config.location=application.properties -Dserver.port=8897 dataMq.jar & 注:即使application.properties文件中设置了server.port=8081,启动端口也是8897



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3