(二)SpringBoot初学者之参数绑定

本文介绍了SpringBoot初学者如何新建web工程,配置application.yml,创建Person类,并进行参数绑定。通过测试运行,展示了@value注解在不使用配置文件时如何从Person类中获取值。

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

1.新建 web 工程

2.文件目录

3.创建Person类,新建applapplication.yml

Person类:

package com.atguigu.springboot01helloworld.bean;

import java.util.Date;
import java.util.List;
import java.util.Map;

public class Person {

    private String name;
    private Integer age;
    private Date birth;
    private Map<String,Object> map;
    private List lists;
    private Cat cat;

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", birth=" + birth +
                ", map=" + map +
                ", lists=" + lists +
                ", cat=" + cat +
                '}';
    }

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }

    public Map<String, Object> getMap() {
        return map;
    }

    public void setMap(Map<String, Object> map) {
        this.map = map;
    }

    public List getLists() {
        return lists;
    }

    public void setLists(List lists) {
        this.lists = lists;
    }

    public Cat getCat() {
        return cat;
    }

    public void setCat(Cat cat) {
        this.cat = cat;
    }
}

Cat 类:

public class Cat {

    private String name;
    private Integer age;

    @Override
    public String toString() {
        return "Cat{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

配置文件可以使用 application.propertites 或者 application.yml 文件 二选一

application.properties 配置

server.port=8081
person.name=张三
#这里可以使用随机数
person.age=${random.int}
person.birth=2018/01/01
person.map.s1=小强
person.map.s2=188
person.lists=a,c,d
person.cat.name=honey
person.cat.age=1

application.yml 文件配置

server:
  port: 8083
#注意冒号后面要空格  字符串上不用加单双引号 "",''
person:
  name: 王五
  age: 18
  birth: 2018/01/02
  map: {s1: 123,s2: 你好}
  lists:
    - 李四
    - zhangsan
  cat:
    name: 小猫
    age: 2

给 person 类添加注解 会有如图提示 -->点击进入 SpringBoot 网站

拷贝如图依赖到 pom.xml 中

4.测试

运行成功了,但有如下乱码

进入设置搜索 encoding 做如下修改,理论上就可以了,但我试了几次才转码成功

4.再看下 @value 进行值得绑定

这里不再使用配置文件,注释掉,以 Person 类为实例

获得更多java开发相关免费百度云学习视频请关注微信公众号 JavaFreeStudy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值