02--SpringBoot之参数传递

本文介绍Spring Boot中URL传参的多种方式及配置文件的读取方法,包括使用@PathVariable、@RequestParam等注解进行GET请求参数传递,以及通过@Value和@ConfigurationProperties注解读取配置文件。

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

一:url传参

1.get方式Url传参:@PathVariable
    ////------get方式Url传参
    @GetMapping({"/id/{the_Param}"})
    public String id(@PathVariable("the_Param") Integer id) {
        return "id:" + id;
    }

get方式Url传参

2.get方式Url传参:@RequestParam
    ////------get方式Url传参
    @GetMapping(/user)
    public String username(@RequestParam("username") String str) {
        return "username is:" + str;
    }

get方式Url传参

3.get方式Url传参:@RequestParam+默认参数
    ////------get方式Url传参+默认参数
    @GetMapping("/user_default")
    public String usernameWithDefaultParam(
            @RequestParam(value = "username", defaultValue = "toly1994")
                    String str) {
        return "username is:" + str;
    }

默认参数


二:配置文件传值使用

1.配置文件字段使用
src\main\resources\application-dev.yml
name: black magic
atk: 2500
desc: "name:${name} And atk:${atk}"
toly1994.com.toly01.controller.ParamController
  ////------配置文件字段使用
    @Value("${name}")
    private String lever;
    @Value("${atk}")
    private int atk;
    @Value("${desc}")
    private String desc;

    @GetMapping("/YoGiOh")
    public String paramInRes() {
        return desc;
    }

配置文件字段使用

2.获取配置文件组成员
2-1:写入字段—src\main\resources\application-dev.yml
monster:
  name: blue eyes white Dragon
  atk: 3000
2-2:创建实体类—toly1994.com.toly01.properties.MonsterProperties
@Component //org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "monster")
public class MonsterProperties {
    private String name;
    private int atk;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAtk() {
        return atk;
    }

    public void setAtk(int atk) {
        this.atk = atk;
    }

    @Override
    public String toString() {
        return "MonsterProperties{" +
                "name='" + name + '\'' +
                ", atk=" + atk +
                '}';
    }
}
2-3:增加方法—toly1994.com.toly01.controller.ParamController
 ////-----获取配置文件组成员
    @RestController
    public class HelloSpringBoot {
        @Autowired //自动创建对象
        private MonsterProperties monster;

        @GetMapping("/monster")
        public String say() {
            return monster.toString();
        }
    }

获取配置文件组成员

### 使用 `java -jar` 启动 Spring Boot 应用并传递参数 当使用 `java -jar` 命令启动 Spring Boot 应用程序时,可以利用命令行参数来指定应用程序的行为或覆盖默认配置。以下是几种常见的传递参数的方法: #### 1. 设置应用属性 可以直接在命令行中通过 `-D` 或者 `--` 来设置应用程序的属性。 ```bash java -jar myapp.jar --server.port=8090 ``` 这种方式适用于大多数情况下修改服务端口或其他简单配置项的需求[^2]。 #### 2. 指定活动配置文件 (Profiles) 如果希望加载不同的环境配置(比如开发、测试、生产),可以通过激活特定的 profile 实现这一点: ```bash java -jar myapp.jar --spring.profiles.active=prod ``` 这会告诉 Spring Boot 加载名为 "application-prod.properties" 的配置文件中的设置。 #### 3. 外部化配置位置 还可以告知 Spring Boot 到哪里查找外部化的配置文件,这对于多环境部署非常有用: ```bash java -jar myapp.jar --spring.config.location=/path/to/config/ ``` 此选项允许开发者指向具体的目录路径或是 URL 地址获取额外的应用配置。 #### 4. 结合 JVM 参数一起使用 除了上述针对 Spring Boot 特有的参数外,在某些场景下可能还需要调整 JVM 行为,这时就可以附加相应的 JVM 参数: ```bash java -Xmx512m -Xms256m -jar myapp.jar --server.port=8090 ``` 这里设置了最大堆内存 (`-Xmx`) 和最小堆内存 (`-Xms`) 的大小[^3]。 需要注意的是,有时候可能会遇到命令行参数不生效的情况。例如有报告指出即使指定了 `--server.port` 或者尝试通过 `--spring.profiles.active` 来切换配置文件也未能成功改变行为[^4]。对于这类问题,建议检查是否有其他地方定义了相同名称但优先级更高的配置源,或者是打包过程中存在问题影响到了最终运行效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张风捷特烈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值