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

}
相关推荐
直奔標竿6 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
敖正炀7 小时前
WebFlux 深度:Reactor 线程模型、背压与错误处理
spring boot
BING_Algorithm7 小时前
一文搞定 AOP 所有核心知识点
spring boot·后端·spring
勿忘初心12218 小时前
【Java实战】SpringBoot 集成 freemarker 导出 Word 模板
java·spring boot·freemarker·模板引擎·word导出·后端实战
绿草在线8 小时前
SpringBoot项目实战:从零搭建高效开发环境
java·spring boot·后端
空中海10 小时前
Spring Boot Kafka 项目 Demo:订单事件系统 专家知识、源码阅读路线与面试题
spring boot·kafka·linq
默 语1 天前
基于 Spring Boot 3 + LangChain4j 快速构建企业级 AI 应用实战
人工智能·spring boot·后端
薪火铺子1 天前
SpringBoot WebServer启动与监听器原理深度解析
spring boot·后端·tomcat
KmSH8umpK1 天前
SpringBoot 分布式锁实战:从单机锁到Redis分布式锁全覆盖,解决超卖、重复下单、幂等并发问题
spring boot·redis·分布式
jay神1 天前
基于团队模式的C程序设计课程辅助教学管理系统
java·spring boot·vue·web开发·管理系统