@value 注解注入静态变量

普通变量在使用@value注解时,直接在变量上加 @value 注解,并通过 spring表达式写上想要获取的值,就可以将配置值注入到变量中。但如果是静态变量就无法这样注入,那么静态变量如何通过 @value 注解进行注入,这和spring 注入静态变量相似,需要写一个set方法,spring 通过调用set方法进行注入,并将注入值赋值给静态变量,代码如下

首先需要在使用 @value注解的类上加 @Component 注解,然后在set方法上加 @Value 注解

代码

package com.demo;

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

@Component
public class NameUtils {

    private static String name;

    @Value("${name}")
    public void setName(String name) {
        NameUtils.name = name;
    }
    
    //该方法为了方便测试
    public static String name(){
        return name;
    }
}

yml 文件

测试

发布了247 篇原创文章 · 获赞 110 · 访问量 45万+

猜你喜欢

转载自blog.csdn.net/wsjzzcbq/article/details/104737232