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

}
相关推荐
阿丰资源1 小时前
java项目(附资料)-基于SpringBoot+MyBatisPlus+MySQL+Layui的药品管理系统
java·spring boot·mysql
indexsunny2 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度探讨
java·数据库·spring boot·安全·微服务·监控·面试实战
宸津-代码粉碎机2 小时前
Spring Boot 4.0 实战技巧全解析
java·大数据·spring boot·后端·python
aq55356003 小时前
Laravel10.X核心特性全解析
java·开发语言·spring boot·后端
彭于晏Yan3 小时前
基于iText7的动态PDF生成技术方案
spring boot·pdf
常利兵4 小时前
Spring Boot配置diff:解锁配置管理新姿势
java·spring boot·后端
卓怡学长4 小时前
w1基于springboot高校学生评教系统
java·spring boot·tomcat·maven·intellij-idea
大佐不会说日语~5 小时前
Spring AI Alibaba 的 Function Calling 使用 @Tool 调用中,无法获取用户ID踩坑记录
java·人工智能·spring boot·spring·alibaba·function
阿丰资源5 小时前
java项目-基于SpringBoot+MySQL+Vue的前后端分离宠物商店系统(附资料)
java·spring boot·mysql
java1234_小锋15 小时前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试