springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

这篇具有很好参考价值的文章主要介绍了springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 如何获取当前服务使用的IP

  1. 使用InetAddress类即可,直接看例子:

    public class test {
        public static void main(String[] args) throws Exception{
            InetAddress localHost = InetAddress.getLocalHost();
            System.out.println("localhost: " + localHost);
            System.out.println("getHostAddress:  " + localHost.getHostAddress());
            System.out.println("getHostName:  " + localHost.getHostName());
        }
    }
    
    

    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

2. 获取启动使用的端口号

1. @Value、@ConfigurationProperties等方法 从配置文件中获取

  1. 在配置文件中配置server.port的值,之后通过@Value、@ConfigurationProperties 等方法从配置文件中获取

    server:
      port: 8085
    
  2. 测试代码:

    // 配置类 注入port的值
    @Configuration
    @ConfigurationProperties(prefix = "server")
    public class PortConfig {
        @Getter
        @Setter
        private int port;
    }
    
    @RestController
    public class TestController {
    
    	// 或者使用@Value方式注入
        @Value("${server.port}")
        private int port;
    
    	// 依赖配置
        @Autowired
        private PortConfig portConfig;
    
        @GetMapping("/test")
        public void test(){
            System.out.println(port);
            System.out.println(portConfig.getPort());
        }
    }
    

    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

2. 提问:如果上面配置文件中不配server.port值会发生什么?

  1. @Value会导致启动报错,无法启动项目:
    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

  2. 把@Value注释,启动正常,但是**@ConfigurationProperties获取到的值是0**
    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port我们知道springboot默认的port是8080,如果你真的很想获取到port,代码只能按照下面方式写:

    if(portConfig.getPort()==0){
    	port = 8080;
    } else {
    	port = portConfig.getPort();
    }
    
    或者
    int port = portConfig.getPort()>=0?portConfig.getPort():8080;
    

    这样子确实也可以获取到服务启动实际使用的port.

3. 使用spring带的ServerProperties类

  1. 经过上面第二点说明,固然大家会选择使用配置类的方式,毕竟@Value会导致项目启动不起来,而springboot有又自带专门存储server开头的配置的类ServerProperties,都不用自己创建一个配置类了。
    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

  2. 如下测试代码:

    @RestController
    public class TestController {
    
        @Autowired
        private ServerProperties serverProperties;
        
        @GetMapping("/test")
        public void test(){
            System.out.println(serverProperties.getPort());
        }
    }
    

    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

  3. 同理,若当配置文件中不写 server.port配置,则默认值是null
    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

4. 使用ServletWebServerApplicationContext类(可推荐)

  1. ServletWebServerApplicationContext类是web的上下文,里面有很多信息可以使用。

  2. 若没有在yaml有配置server.port,不会获取到null 而是默认值8080(内部已帮我们处理了)
    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port
    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port

  3. 代码:
    不在yaml配置 server.pot

    @RestController
    public class ConfigController {
        
        @Autowired
        private ServletWebServerApplicationContext servletWebServerApplicationContext;
    
        @GetMapping("/testPort")
        public void testPort(){
            System.out.println(servletWebServerApplicationContext.getWebServer().getPort());
        }
    }
    

    springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port文章来源地址https://www.toymoban.com/news/detail-402131.html

到了这里,关于springboot项目要如何获取当前服务器的IP以及当前项目使用的端口号Port的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java获取当前服务器状态cpu、内存、存储等核心信息

    目录 1.需要导入依赖包  2.系统自带参数 3.获取当前服务器状态cpu、内存、存储等核心信息  4.引入包后方法不存在  5. 获取的cpu利用率和任务管理器cpu利用率值差距问题   RESULT: RESULT:  需要引入下面的包:  就是需要配置在 CentralProcessor 实例化之前:配置上也会有差距,相

    2024年02月03日
    浏览(50)
  • 如何在linux服务器上用Nginx部署Vue项目,以及如何部署springboot后端项目

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 本文内容记录如何在Linux(Ubuntu)系统上安装Nginx,并部署打包好的Vue前端项目,最后通过浏览器访问。 提示:以下是本篇文章正文内容,下面案例可供参考

    2024年04月16日
    浏览(48)
  • Java 使用oshi获取当前服务器状态cpu、内存、存储等核心信息

    OSHI 是基于 JNA 的(本地)操作系统和硬件信息库。它不需要安装任何其他额外的本地库,旨在提供一种跨平台的实现来检索系统信息,例如操作系统版本、进程、内存和 CPU 使用率、磁盘和分区、设备、传感器等。 使用 OSHI 可以对应用程序进行监控,可以对应用程序所在的服

    2024年02月03日
    浏览(52)
  • 如何快速搭建自己的阿里云服务器(宝塔)并且部署springboot+vue项目(全网最全)

    对于新手或者学生党来说,有时候就想租一个云服务器来玩玩或者练练手,duck不必花那么多钱去租个服务器。这些云服务厂商对学生和新手还是相当友好的。下面将教你如何快速搭建自己的阿里云服务器,完成云服务器的部署。 现在阿里云对于新用户来说,还是挺仗义的,

    2024年02月04日
    浏览(84)
  • Linux中该如何查看当前CPU、内存、硬盘占用情况,如何判断当前服务器负载情况

    要查看当前 Linux 系统的 CPU、内存、硬盘占用情况,可以使用以下命令: 查看 CPU 占用情况: 该命令会显示当前系统进程的 CPU 占用情况,以及每个进程占用的 CPU 百分比和内存使用情况等信息。 查看内存占用情况: 该命令会显示当前系统的内存总量、已使用的内存量、空闲

    2024年02月11日
    浏览(72)
  • ruoyi项目服务器重启后台报:欢迎使用RuoYi后台管理框架,当前版本:v3.8.1,请通过前端地址访问。

    阿西,真的想骂人,不会耶,根本不会,咱就不明白了,怎么好好的项目在服务器上运行的好好的,不就是服务器到期了停了一下子再续上重启,再进去跟后台系统,就欢迎使用RuoYi后台管理框架,当前版本:v3.8.1,请通过前端地址访问。,真的好烦,不是自己写的代码,也

    2024年02月04日
    浏览(41)
  • SpringBoot项目上传至服务器

    通过包管理器安装 参考链接: 1. 安装之后没有密码,所以需要设置密码,使用下面的语句 2.在数据库中建表(和本地方法一样)  1.在pop.xml进行配置 2.yml配置文件 3.打包( 设置打包名称) xShell直接拖过去就好 使用以下命令启动项目:   跟踪日志命令  

    2024年02月13日
    浏览(39)
  • SpringBoot项目部署到服务器

    此次用到了三个软件:IDEA、WinSCP、FinalShell 服务器的性能相比较本地有着更大的内存空间,运行程序代码会更加的快捷方便,而且服务器开启后,程序放在那边让它跑就好了。 一般的web项目想要放到服务器上运行的话,需要首先在服务器上装一个Tomcat,然后将项目打包成wa

    2024年02月04日
    浏览(58)
  • JAVA如何获取服务器ip

    该方法返回的是默认的本地地址,可能是服务器上某个网络接口的IP地址,但不一定是我们期望获取的IP地址。 为了获取正确的IP地址,可以使用其他方法来获取服务器上所有的网络接口,并遍历每个网络接口来获取对应的IP地址。可以使用 NetworkInterface 类来实现此功能,如下

    2024年02月07日
    浏览(55)
  • 在服务器上启动springboot项目

    环境搭建:要在服务器上运行SpringBoot Web项目,需要先在服务器上安装JDK(CentOS系统安装JDK参考:http://t.csdn.cn/0zYml) 创建一个简单的springboot项目,并通过测试; 执行maven的package命令,然后在target文件夹中找到jar包; 将生成的jar包放到服务器上,如果有用远程连接工具windt

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包