前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot使用@Value读取属性值

SpringBoot使用@Value读取属性值

作者头像
知否技术
发布2021-05-28 10:57:04
1.7K0
发布2021-05-28 10:57:04
举报
文章被收录于专栏:eclipse编程eclipse编程
今天给大家讲一下如何在SpringBoot项目中使用@Value注解读取配置文件的属性值

1

给普通变量赋值

1. 给普通变量赋值时,直接在变量声明之上添加@Value()注解即可

代码语言:javascript
复制
@Component
public class PayUtil {

    @Value("${nuonuo.app_key}")
    public String appKey;

    @Value("${nuonuo.app_secret}")
    public String appSecret;
}

测试:

代码语言:javascript
复制
@SpringBootTest(classes = HelloApplication.class)
@RunWith(SpringRunner.class)
public class Test1 {

    @Autowired
    PayUtil payUtil;

    @Test
    public void test() {
        System.out.println("---"+payUtil.appKey);
    }
}

2

给静态变量赋值

1. 注意:给静态变量注入值的时候,在静态变量声明之上直接添加@Value注解是无效的。若要给静态变量赋值,可以在set()方法上加@value注解。

代码语言:javascript
复制
@Component
public class PayUtil {
    
    public static String appKey;
    public static String appSecret;
    
    @Value("${nuonuo.app_key}")
    public void setAppKey(String app_key) {
        appKey = app_key;
    }

    @Value("${nuonuo.app_secret}")
    public void setAppSecret(String app_secret) {
        appSecret = app_secret;
    }
}

测试:

代码语言:javascript
复制
@SpringBootTest(classes = HelloApplication.class)
@RunWith(SpringRunner.class)
public class Test1 {
    @Test
    public void test() {
        System.out.println("---"+PayUtil.appKey);
    }
}

3

总结

代码语言:javascript
复制
1. 直接在静态变量上加@Value无效;
2. 给变量赋值要交给Spring容器管理,也就是需要在类上加@Component注解;

/ END/

作者简介:一颗雷布斯,程序员一枚。穿着格子衫,梳着地中海发型,写过最多的代码就是if-else,梦想35岁买个好的电动车送外卖。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知否技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档