赞
踩
springboot @Value 读取配置文件数据
application.yml中
user:
name: 罗小黑
age: 5
ability:
#yml 数组格式
- 金
- 空间
# list
_ability: metal,space
在引导类的包下创建User类
package com.wsd.example.demo1; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.Arrays; import java.util.List; //@Component 创建Bean对象交给spring容器管理 @Component public class User { //将配置文件中的user.name的值注入给该属性 @Value("${user.name}") private String name; //将配置文件中的user.age的值注入给该属性 @Value("${user.age}") private int age; //将配置文件中的user._ability的值注入给该属性 @Value("${user._ability}") private List ability; //将配置文件中的user.ability数组下标为1的值注入给该属性 @Value("${user.ability[1]}") private String exceptional; @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age + ", _ability=" + ability + ", exceptional='" + exceptional + '\'' + '}'; } }
@Value 不能直接将配置文件中的整个数组注入给User的数组属性,
可以采用List的形式
https://blog.csdn.net/weixin_39581716/article/details/111170059
引导类
package com.wsd.example.demo1; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; @SpringBootApplication public class Demo1Application { public static void main(String[] args) { //返回值 context 为spring容器 ConfigurableApplicationContext context = SpringApplication.run(Demo1Application.class, args); //从 spring容器 中 获取 User 类 的 Bean 对象 User user = context.getBean(User.class); System.out.println(user); } }
结果:
https://blog.csdn.net/weixin_43949634/article/details/113961321
读取user.name获取到的是当前系统的用户名,而不是配置文件中的值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。