SpringBoot @Value 注解使用

@Value 注解用于将配置文件中的属性值注入到Spring管理的Bean中。

1. 基本用法

@Value 可以直接注入配置文件中的属性值。

配置文件 (application.properties 或 application.yml)

配置文件定义需要注入的数据。

yaml 复制代码
consumer:
  username: lisi
  age: 23
  hobby: sing,read,sleep
  subject: 100,150

注入属性值

分别定义字符串、整数、数组、集合类型成员变量,并将配置文件中对应数据注入。

java 复制代码
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Arrays;
import java.util.List;

@Component
public class Consumer {

    @Value("${consumer.username}")
    private String username;
    @Value("${consumer.age}")
    private int age;
    @Value("${consumer.hobby}")
    private String[] hobby;
    @Value("${consumer.subject}")
    private List<Integer> subject;

    @Override
    public String toString() {
        return "Consumer{" +
                "username='" + username + '\'' +
                ", age=" + age +
                ", hobby=" + Arrays.toString(hobby) +
                ", subject=" + subject +
                '}';
    }
}

@Value 通常用于注入简单类型(如字符串、数字等)。如果需要注入复杂对象,建议使用 @ConfigurationProperties。

测试运行

java 复制代码
@SpringBootTest
public class WebTest {

    @Autowired
    private Consumer consumer;
    @Test
    public void test(){
        System.out.println(consumer);
    }

}
相关推荐
Mikko73 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
计算机毕设定制辅导-无忧学长8 小时前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
vipxieliang9 小时前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
余槐i11 小时前
Spring Boot 3.2 偶发500无日志:线程池复用导致请求上下文丢失
spring boot·redis·后端·mysql·性能优化
杨凯凡11 小时前
Spring Boot 的 @Transactional 为什么会失效?从代理、自调用到异常回滚的排查实战
java·spring boot·spring·事务·后端开发
云创智城-yuncitys1 天前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
paopaokaka_luck1 天前
灾害应急物资管理系统(AI应急助手、Echarts可视化数据看板、捐赠入库联动、 物资全流程管理、库存变动追溯、灾情资讯与互动反馈、物资发放公示)
java·前端·javascript·spring boot·mysql·tomcat·echarts
学长毕设1 天前
基于SpringBoot的网上流浪狗救助捐赠平台-附源码
java·spring boot·后端
码农的日常1 天前
前后端Long精度丢失的踩坑
spring boot·架构
杨运交1 天前
086-对象存储模块-基于Spring Boot的文件存储模块监控设计与实现
java·spring boot·后端