Spring Boot Jar 启动指定端口号的深度解析
Spring Boot 作为现代 Java 开发的一种主流框架,为我们提供了简化的开发体验。特别是在微服务架构日益流行的今天,能够快速启动和部署服务变得异常重要。然而,在某些情况下,我们可能需要在启动应用时指定特定的端口。本文将详细探讨如何在 Spring Boot 中实现这一需求,并附上相应的代码示例。
1. Spring Boot 启动参数
Spring Boot 提供了多种方法来配置应用的启动参数,你可以在 application.properties 或 application.yml 文件中设置,也可以通过命令行传入参数,甚至可以在代码中进行配置。下面将逐一介绍这些方法。
1.1 使用 application.properties
当我们希望在 Spring Boot 中设置 HTTP 端口时,可以在 src/main/resources/application.properties 文件中添加以下配置:
server.port=8081
1.2 使用 application.yml
如果你使用 YAML 格式的配置文件,则可以在 src/main/resources/application.yml 中设置:
server:
port: 8081
1.3 使用命令行参数
在执行 Spring Boot Jar 文件时,你可以直接通过命令行传入端口号:
java -jar your-application.jar --server.port=8081
1.4 在代码中配置
另外,你还可以在启动类中直接配置端口,我不推荐这种方式,但它确实是可行的:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication
public class YourApplication {
public static void main(String[] args) {
System.setProperty("server.port", "8081");
ConfigurableApplicationContext context = SpringApplication.run(YourApplication.class, args);
}
}
2. 代码示例
下面是一个完整的 Spring Boot 应用示例,应用会在指定的端口上启动并返回一个简单的 "Hello World" 消息。
2.1 创建控制器
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
2.2 创建启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3. 类图
在系统设计中,类图为我们提供了结构化视图,帮助理解类之间的关系。以下是我们这个简单 Spring Boot 应用的类图:
classDiagram
class Application {
+main(String[] args)
}
class HelloController {
+hello() String
}
Application --> HelloController : uses
4. 测试与验证
完成代码编写后,接下来我们就可以打包应用并进行测试。
4.1 打包应用
使用 Maven 或 Gradle 将项目打包:
对于 Maven:
mvn clean package
对于 Gradle:
gradle build
4.2 运行 Jar 包
在控制台中执行以下命令:
java -jar target/your-application.jar --server.port=8081
4.3 测试接口
打开浏览器或使用 Postman 进行测试,访问 http://localhost:8081/hello,如果成功,你将看到 "Hello, World!" 返回信息。
5. 小结
在本篇文章中,我们讨论了如何在 Spring Boot 应用中启动时指定端口,包括在配置文件中设置、传入命令行参数以及在代码中配置。我们还提供了一个完整的代码示例,展示了一个最简单的 Spring Boot 应用。
通过这些方法,我们能够更灵活地控制应用的启动行为,适应不同的环境需求。在实际开发中,了解如何快速更改端口号的能力将大大提高我们的开发效率,使我们在微服务架构中更加游刃有余。
希望本文能够帮助你更深入地理解 Spring Boot 的端口配置,提升你的开发技能。
















