首页 > 解决方案 > 从实体中的属性文件中读取

问题描述

我的实体中有一个属性 expiryDate。我想当我从这个实体创建一个实例时,我设置属性 expiryDate 的值。该值在 application.yml 文件中。我Properties.getProperty在构造中使用过,但没有用

应用程序.yml:

application:
  token:
    expiredIn: 1440

令牌实体:

public abstract class Token implements Serializable {

    @Id
    private UUID id;

    private int expiryIn;

    public Token() {
        this.expiryIn= Properties.getProperty("application.token.expiredIn");
    }

}

#更新

我用过@Value但过期的值总是0

public abstract class Token implements Serializable {

    @Id
    private String id;

    private Date expiryDate;

    @Value("${application.token.expiredIn}")
    private static int expiration;

    public Token() {
        this.expiryDate = calculateExpiryDate(expiration);
    }

    private Date calculateExpiryDate(final int expiryTimeInMinutes) {
        final Calendar cal = Calendar.getInstance();
        cal.setTimeInMillis(new Date().getTime());
        cal.add(Calendar.MINUTE, expiryTimeInMinutes);
        return new Date(cal.getTime().getTime());
    }

}

标签: javaspringspring-boot

解决方案


尝试:

   public abstract class Token implements Serializable {

    @Id
    private UUID id;

    @Value("${application.token.expiredIn}")
    private int expiryIn;


}

@Value将从application.yml文件中获取值并将其注入expiryIn.


推荐阅读