Springboot项目启动时自动打印访问地址(超简单)

本文介绍了一种在SpringBoot项目启动时自动打印访问地址的方法,通过在启动类中添加特定代码,可以在控制台直接获取项目的本地及外部访问路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Springboot项目启动时自动打印访问地址

在Springboot项目中每次启动完项目,手动在浏览器输入访问地址太麻烦了。在启动类中加入下方代码,就可高效地在控制台中单击URL访问项目了~

在这里插入图片描述
在这里插入图片描述

示例代码:

@SpringBootApplication
@Slf4j
public class WebApplication {
    public static void main(String[] args) throws UnknownHostException {
        ConfigurableApplicationContext application = SpringApplication.run(WebApplication.class, args);
        log.info("..######..##.....##..######...######..########..######...######.\n" +
                ".##....##.##.....##.##....##.##....##.##.......##....##.##....##\n" +
                ".##.......##.....##.##.......##.......##.......##.......##......\n" +
                "..######..##.....##.##.......##.......######....######...######.\n" +
                ".......##.##.....##.##.......##.......##.............##.......##\n" +
                ".##....##.##.....##.##....##.##....##.##.......##....##.##....##\n" +
                "..######...#######...######...######..########..######...######.");
        Environment env = application.getEnvironment();
        String ip = InetAddress.getLocalHost().getHostAddress();
        String port = env.getProperty("server.port");
        String path = env.getProperty("server.servlet.context-path");
        if (StringUtils.isEmpty(path)) {
            path = "";
        }
        log.info("\n----------------------------------------------------------\n\t" +
                "Application  is running! Access URLs:\n\t" +
                "Local访问网址: \t\thttp://localhost:" + port + path + "\n\t" +
                "External访问网址: \thttp://" + ip + ":" + port + path + "\n\t" +
                "----------------------------------------------------------");
    }

}

关注下方,发送"01"获取更多相关学习教程。

在这里插入图片描述

lombok依赖包:

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
    </dependency>
Spring Boot项目中,如果遇到启动参数`args`为空的情况,可能是因为未正确传递命令行参数或者程序运行环境未能识别这些参数。以下是针对该问题的分析与解决方案: ### 1. 命令行参数传递方式 当通过命令行启动Spring Boot应用程序时,可以通过以下方式向`main`方法中的`args`传入参数: ```bash java -jar your-spring-boot-app.jar --arg1=value1 --arg2=value2 ``` 上述命令会将`--arg1=value1`和`--arg2=value2`作为参数传递给`args`数组[^1]。 ### 2. 使用`@Value`注入参数 为了访问传递的参数,在Spring Bean类中可以使用`@Value`注解来获取特定属性值。例如: ```java @Component public class MyComponent { @Value("${arg1}") private String arg1; public void displayArg() { System.out.println("Argument Value: " + arg1); } } ``` 需要注意的是,只有以`--key=value`形式传递的参数才会被自动映射到Spring环境中并可通过`@Value`读取[^2]。 ### 3. 配置文件覆盖默认行为 如果希望某些参数能够从外部配置文件(如application.properties或application.yml)加载,则可以在Nacos或其他配置中心定义相应的键值对,并让其优先级高于内置配置。这样即使`args`为空也不会影响正常功能实现。 ### 4. 测试代码验证 下面是一个简单的测试案例用于确认参数是否成功接收: ```java @SpringBootApplication @EnableDiscoveryClient public class NacosClientApplication { public static void main(String[] args) { ConfigurableApplicationContext context = SpringApplication.run(NacosClientApplication.class, args); // 手动打印所有接收到的参数 Map<String, Object> params = context.getEnvironment().getPropertySources() .stream() .filter(ps -> ps.containsProperty("arg1")) .collect(Collectors.toMap(PropertySource::getName, PropertySource::getSource)); System.out.println(params.toString()); } } ``` 此段代码展示了如何遍历所有的property sources查找指定名称(`arg1`)对应的value是否存在以及它的具体数值是什么样式的输出结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI知识分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值