springboot---给属性赋值的几种方式

一,Spring给属性赋值 @value注解

有这样一个类

@Component
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Dog {
    @Value("旺财")
    private String name;
    @Value("3")
    private Integer age;
}

在属性上方添加@Value注解,写入属性值。然后在测试类打印:

@SpringBootTest
class Spring02ConfigApplicationTests {
    @Autowired
  private Dog dog;
    @Test
    void contextLoads() {
        System.out.println(dog);
    }
}

属性添加成功
在这里插入图片描述

一,使用yaml给属性赋值

还有这样一个实体类:

@Component
@ConfigurationProperties(prefix ="person")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
    private Integer age;
    private String name;
    private Boolean happy;
    private Date birth;
    private Map<String,Object> maps;
    private List<Object> list;
    private Dog dog;
}

在yaml配置文件中为Person属性添加值,如下:

Person:
  age: 18
  name: tt
  happy: false
  birth: 2020/11/11
  maps: {k1:v1,k2:v2}
  list:
    - sing
    - dance
    - rap
  dog:
    name: 旺财
    age: 3

Person类上添加@ConfigurationProperties(prefix ="person")注解,将yaml中的person绑定进去。

@ConfigurationProperties注解的作用:
  - 将配置文件中的每一个属性的值,映射到这个组件中;
  - 告诉springboot将本类中的所有属性和配置文件中相关的配置进行绑定
  - 参数`prefix="person"`:将配置文件中的person下面的属性一一对应
  -当这个组件是容器中的组件时,才能使用容器提供的@ConfigurationProperties注解功能

运行测试:

@SpringBootTest
class Spring02ConfigApplicationTests {
    @Autowired
  private Person person;
    @Test
    void contextLoads() {
        System.out.println(person);
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值