@Value 和@Autowired注入的变量如何被静态方法使用

@Value 和@Autowired注入的变量如何被静态方法使用

SpringBoot中使用@Value()@Autowired只能给普通变量注入值,不能直接给静态变量赋值。要实现在静态方法中引入注入的变量可以做如下处理:

1.使用@Value给普通的静态变量注入值

    // ...
    private static String dataBaseName;
    
    @Value("database.name")
    public void setDataBaseName(String dataBaseName){
    
    
        this.dataBaseName = dataBaseName;
    }
    //...

2.使用@Autowire 注入静态变量注入值

    // ...
    private static Resource resource;
    @Autowire
    Resource resource;
    @PostConstruct
    public void setResouce(){
    
    
        resource = iresource;
    }
    // ...

Guess you like

Origin blog.csdn.net/cc890824/article/details/117434693