Spring Boot读取properties

本文详细介绍SpringBoot中使用@Value和@ConfigurationProperties注解从application.properties或application.yml读取配置的方法,包括基本类型、JavaBean类型、数组/List集合和Map集合的读取。

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

原文地址:http://www.yiidian.com/springboot/springboot-properties.html

Spring Boot里面有两个注解可以读取application.properties或application.yml文件的属性值。

  1. @Value
  2. @ConfigurationProperties

1 @Value

1.1 基本类型

1)配置

nickname=eric
age=20

2)SpringBoot读取配置

/**
 * @Value注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
public class ConfigController {

    //1.1 读取基本类型
    @Value("${nickname}")
    private String nickname;
    @Value("${age}")
    private Integer age;

1.2 JavaBean类型

1)配置

user.nickname=jack
user.age=18

2)SpringBoot读取配置

/**
 * @Value注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
public class Config2Controller {

    //1.2 读取JavaBean类型
    @Value("${user.nickname}")
    private String nickname;
    @Value("${user.age}")
    private Integer age;

1.3 数组/List集合

1)配置

user.list=eric,jack,rose

2)SpringBoot读取配置

/**
 * @Value注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
public class Config3Controller {

    //1.3 读取数组/List集合类型
    @Value("#{'${user.list}'.split(',')}")
    private List<String> list;

1.4 Map集合

1)配置

user.map={nickname:'eric',age:20}

2)SpringBoot读取配置

/**
 * @Value注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
public class Config4Controller {

    //1.4 读取Map集合类型
    @Value("#{${user.map}}")
    private Map<String,Object> map;

2 @ConfigurationProperties

2.1 基本类型

1)配置

nickname=eric
age=20

2)SpringBoot读取配置

/**
 * @ConfigurationProperties注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
@ConfigurationProperties(prefix = "")
public class Config5Controller {

    //1.1 读取基本类型
    private String nickname;
    private Integer age;
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
    public void setAge(Integer age) {
        this.age = age;
    }

注意以下几点:

  • prefix:代表属性的前缀,如果user.nickname前缀就是user
    属性名称必须和
  • properties文件的属性名保持一致
    属性必须提供setter方法来注入文件的属性值

2.2 JavaBean类型

1)配置

user.nickname=jack
user.age=18

2)SpringBoot读取配置

/**
 * @ConfigurationProperties注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
@ConfigurationProperties(prefix = "user")
public class Config6Controller {

    //1.2 读取JavaBean类型
    private String nickname;
    private Integer age;

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

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

2.3 数组/List集合

1)配置

user.list2[0]=eric
user.list2[1]=jack
user.list2[2]=rose

2)SpringBoot读取配置

/**
 * @ConfigurationProperties注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
@ConfigurationProperties(prefix = "user")
public class Config7Controller {

    //1.3 读取数组/List集合类型
    private List<String> list2;
    public void setList2(List<String> list2) {
        this.list2 = list2;
    }

2.4 Map集合

1)配置

user.map2.nickname=eric
user.map2.age=20

2)SpringBoot读取配置

/**
 * @ConfigurationProperties注解 - 读取application.properties属性
 * 一点教程网 - www.yiidian.com
 */
@Controller
@ConfigurationProperties(prefix = "user")
public class Config8Controller {

    //1.4 读取Map集合类型
    private Map<String,Object> map2;
    public void setMap2(Map<String, Object> map2) {
        this.map2 = map2;
    }

源码下载:https://pan.baidu.com/s/1eAwxjQClVt3TxuqtL6VbIA

file

欢迎关注我的公众号::一点教程。获得独家整理的学习资源和日常干货推送。

如果您对我的系列教程感兴趣,也可以关注我的网站:yiidian.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值