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);
    }

}
相关推荐
ZhengEnCi1 天前
S02-SpringBoot实体类新增字段对已有数据的影响及自动DDL同步机制详解
数据库·spring boot
程序员张31 天前
SpringBoot集成BCrypt密码加密库
java·spring boot·后端
952361 天前
RabbitMQ-基础操作
java·spring boot·分布式·后端·spring·rabbitmq
卓怡学长1 天前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea
Listen·Rain1 天前
Springboot整合Ollama实现调用本地多模型
java·spring boot·后端
宠友信息1 天前
多端即时通讯源码技术实践,Redis路由、MySQL持久化与Socket接入
spring boot·websocket·mysql·uni-app
Tom·Ge1 天前
【Spring Boot 4】Spring Boot 4.0 AI Agent实战:Skills Agent + MCP协议集成
人工智能·spring boot·microsoft
Devin~Y1 天前
电商场景下的Java面试实战:从Spring Boot微服务到Kafka、Redis与AI RAG
java·spring boot·redis·elasticsearch·spring cloud·微服务·kafka
白露与泡影1 天前
用 Spring Boot + Vue + Fuzio 构建现代 Java 桌面应用
java·vue.js·spring boot
宠友信息1 天前
Spring Boot与异步审核构建仿小红书源码内容发布全流程
java·数据库·spring boot·redis·mysql·oracle·uni-app