spring 项目中在类中注入静态字段

Posted pclover11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 项目中在类中注入静态字段相关的知识,希望对你有一定的参考价值。

有时spring 项目中需要将配置文件的属性注入到类的静态字段中

例如:文件上传

//文件上传指定上传位置
//resource-dev.properties 有如下参数
#upload
UPLOAD_PATH=D:\\home\\images
STATIC_URL=http://127.0.0.1/images/upload/

如果想在类中直接使用,可以通过定义常量类的静态字段来获取

@Component
@PropertySource("classpath:dev/resource-dev.properties")
public class ConstantsFilename {
    //Upload常量

    public static String UPLOAD_PATH;
    public static String STATIC_URL;

    public String getUploadPath() {
        return UPLOAD_PATH;
    }

//将 set 方法的 static 去掉
    @Value("${UPLOAD_PATH}")
    public void setUploadPath(String uploadPath) {
        UPLOAD_PATH = uploadPath;
    }

    public String getStaticUrl() {
        return STATIC_URL;
    }

//将 set 方法的 static 去掉
    @Value("${STATIC_URL}")
    public void setStaticUrl(String staticUrl) {
        STATIC_URL = staticUrl;
    }
}

此时,可以在你的类中直接使用 ConstantsFilename.STATIC_URL 和 ConstantsFilename.UPLOAD_PATH 了。

 

以上是关于spring 项目中在类中注入静态字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在类中注入代码并在运行时为类字段赋值?

spring autowired怎么按照name注入

spring boot 配置注入

如何在静态方法或自定义类中注入 HttpClient?

在静态工具类中注入Service的解决方案

Spring-如何给静态变量注入值