SpringBoot使用@Value给静态变量注入值

本文介绍了如何在SpringBoot中使用@Value注解给静态变量注入值,通过创建一个Bean并在set方法中设置静态变量。然而,这种方法将Bean加载到Spring容器,即使不使用也会初始化。作者认为更好的做法是直接在配置文件中定义值,并在类的静态块中读取,避免不必要的Bean加载。

SpringBoot使用@Value给静态变量注入值

参考: https://blog.csdn.net/mononoke111/article/details/81088472

code

package com.tom.demo.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class TestConfig {

    private static String username;

    @Value("${sd.test}")
    public void setUsername(String username){
        TestConfig.username = username;
    }

    public static void print(){
        System.out.println(username);
    }
}

思考

  1. 这个需求挺常见,反正我是遇到过很多次,则解决呢???
  2. 跟人觉得这个方法也不好。原因,它就是通过spring的容器去创建一个Bean,然后在这个Bean的set方法中修改了static的值。缺点是把Bean加载到spring中了,还有一个就是不管我用不用这个,他都在
  3. 我觉得还是写在配置文件中,在类的static{}中读取这个值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值