springBoot怎么在代码里获取自己的启动端口
时间: 2024-03-02 18:53:17 浏览: 96
可以使用Spring Boot提供的Environment接口来获取自己的启动端口。具体代码如下:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@Component
public class PortGetter {
@Autowired
private Environment environment;
public int getPort() {
return Integer.parseInt(environment.getProperty("local.server.port"));
}
}
```
在上面的代码中,我们注入了Spring Boot提供的Environment接口,并通过getProperty方法获取了当前应用程序的启动端口。
相关问题
springboot 启动类中打印ip 和端口
可以使用以下代码在Spring Boot启动类中打印IP和端口:
```java
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MyApp.class);
Environment env = app.run(args).getEnvironment();
String ip = InetAddress.getLocalHost().getHostAddress();
String port = env.getProperty("server.port");
System.out.println("\n----------------------------------------------------------\n\t" +
"Application '{}' is running! Access URLs:\n\t" +
"Local: \t\thttp://localhost:{}\n\t" +
"External: \thttp://{}:{}\n" +
"----------------------------------------------------------",
env.getProperty("spring.application.name"),
env.getProperty("server.port"),
ip,
port);
}
}
```
其中,`InetAddress.getLocalHost().getHostAddress()`可以获取本机IP地址,`env.getProperty("server.port")`可以获取Spring Boot应用的端口号。
springboot换端口代码
Spring Boot应用默认监听8080端口,如果你想更改这个端口,可以在`application.properties` 或 `application.yml` 文件中设置`server.port` 属性。以下是两个文件中对应的配置示例:
对于`.properties` 文件:
```properties
server.port=8081 # 更改为你需要的端口号
```
对于`.yml` 文件:
```yaml
server:
port: 8081
```
如果在运行时动态改变端口,可以使用`CommandLineRunner` 或者 `ApplicationArguments` 来读取命令行参数。例如,在`Application.java` 中加入:
```java
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.env.Environment;
public class Application implements CommandLineRunner {
private final Environment env;
public Application(Environment env) {
this.env = env;
}
@Override
public void run(String... args) throws Exception {
int port = Integer.parseInt(env.getProperty("spring.application.port", "8080")); // 从环境变量或默认值获取端口
// 然后启动服务器监听新端口
SpringApplication.run(Application.class, "--server.port", String.valueOf(port), args);
}
}
```
然后通过命令行启动应用时指定新的端口,如:
```
java -jar myapp.jar --server.port=8081
```
阅读全文