修改Springboot启动端口号

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

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

一、pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.guoxin</groupId>
<artifactId>SpringbootTest</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
<relativePath/>
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

<build>
<finalName>SpringBootTest</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

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

server:
#端口号
port: 8888
#项目名,如果不设定,默认是 /
context-path: /demo
1
2
3
4
5
application.properties:

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

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

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);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
方法二:
这种方法有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);
// }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

四、使用启动命令
nohup java -jar -Dspring.config.location=application.properties -Dserver.port=8897 dataMq.jar &
注:即使application.properties文件中设置了server.port=8081,启动端口也是8897
————————————————
版权声明:本文为CSDN博主「小强签名设计」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37739193/article/details/83388271

免责声明:文章转载自《修改Springboot启动端口号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Systemd自定义开机启动服务(转载)孟德尔随机化 Mendelian randomization,MR下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数据存储

iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3Core Data应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应...

iOS 设置图片imageView圆角——对图片进行裁剪

以前设置图片圆角总是把imageView设置成圆形,然后设置maskToBounds为YES,其实这样处理很消耗性能,图片多了之后比较卡,最好将图片进行裁剪后显示;这里有个分类可以用: UIImage+wiRoundedRectImage.h #import <UIKit/UIKit.h> @interface UIImage (wiR...

谷歌浏览器 html5的声音和视频不能自动播放处理

AI模型开发就选MindSpore!新特性、新工具上线!>>> 声音无法自动播放这个在IOS/Android上面一直是个惯例,桌面版的Safari在2017年的11版本也宣布禁掉带有声音的多媒体自动播放功能,紧接着在2018年4月份发布的Chrome 66也正式关掉了声音自动播放,也就是说<audio autopaly><...

使用mina传输大字节数组

使用mina传输超过2k以上的数据时(采用tcp方式,如果是UDP方式,好像一次传输的数据不能超过256字节,如果超过mina不会分批次发送,而tcp方式会分批次发送),mina会自动将这些数据分成多次发送。由于是分批次发送数据,所有客服端在接受数据时,需要等所有的数据接受完之后才能解码,否则无法解码,或者只能读取到部分文件。 以下是一个发送、接受大字节数...

Spring Boot 2.2.x Junit4 升级为Junit5 后的变化、对比 找不到 org.junit.jupiter.api.Test

遇到的问题:使用 maven 创建了一个 parent 项目 A,其 pom.xml 继承 parent 为 spring-boot-starter-parent 2.1.10。 然后创建 module 项目 B,使用 spring initializr 构建项目,用的是 IDEA,当时没有选 Spring Boot 版本,结果默认使用的是 2.2.1。...

使用Fiddler远程抓包

Fiddler简介以及web抓包 一.Fiddler简介          简单来说,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。网上简介很多,我们不多说。 二.Fiddler版本          Fiddler有Fiddler2和Fiddler4,两者区别在于,基于的framework不同,也就...