其他分享
首页 > 其他分享> > Spring Boot @Value属性

Spring Boot @Value属性

作者:互联网

我有一个Spring Boot应用程序,在其中一个类中,我尝试使用@Value从application.properties文件引用一个属性.但是,该财产没有得到解决.我查看了类似的帖子,并尝试按照建议,但这没有帮助.这堂课是:

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class PrintProperty {

  @Value("${file.directory}")
  private String fileDirectory;

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

我在application.properties中有属性file.directory.我也有其他领域.

解决方法:

我和你一样有同样的问题.这是我的错误代码.

@Component
public class GetExprsAndEnvId {
    @Value("hello")
    private String Mysecret;


    public GetExprsAndEnvId() {
        System.out.println("construct");
    }


    public void print(){
        System.out.println(this.Mysecret);
    }


    public String getMysecret() {
        return Mysecret;
    }

    public void setMysecret(String mysecret) {
        Mysecret = mysecret;
    }
}

这不是问题,但是
我们需要像这样使用它:

@Autowired
private GetExprsAndEnvId getExprsAndEnvId;

不是这样的:

getExprsAndEnvId = new GetExprsAndEnvId();

这里,使用@Value注释的字段为null,因为Spring不知道使用new创建的GetExprsAndEnvId副本,并且不知道如何在其中注入值.

标签:spring,spring-boot,spring-annotations
来源: https://codeday.me/bug/20190929/1830376.html