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

}
相关推荐
谢平康9 小时前
支持不限制大小,大文件分段批量上传功能(不受nginx /apache 上传大小限制)
java·vue.js·spring boot
congvee12 小时前
springboot学习第5期 - spring data jpa
spring boot
DanB2412 小时前
Spring-boot实战demo
spring boot
灵犀学长13 小时前
Spring Boot Jackson 序列化常用配置详解
java·spring boot·后端
midsummer_woo15 小时前
基于springboot+vue+mysql智能推荐的卫生健康系统(源码+论文+开题报告)
vue.js·spring boot·mysql
天天进步201515 小时前
Spring Boot 3.0新特性全面解析与实战应用
spring boot
余很多之很多16 小时前
基于 Spring Boot、Spring Cloud、Nacos 的微服务架构,在性能测试下的层层优化
spring boot·spring cloud·架构
CodeWolf17 小时前
SpringBoot自动化配置原理
spring boot·spring
simplejian17 小时前
从零实现一个在线GIT平台并一文道尽git
spring boot·git
老友@17 小时前
Spring Boot 集成 RabbitMQ:普通队列、延迟队列与死信队列全解析
spring boot·消息队列·rabbitmq·java-rabbitmq·死信队列·延时队列