如何将@Value注入setter?

时间:2018-04-26 13:51:11

标签: java spring

是否可以将@Value属性注入@Service的设置器中?

@Service
public class DateService {
    private DateTimeFormatter dtf;

    public void setDtf(@Value("${spring.jackson.date-format}") String format) {
        dtf = DateTimeFormatter.ofPattern(format);
    }
}

问题:永远不会调用setter。但是如何注入String属性并直接从中DateTimeFormatter实例化呢?

我也尝试使用SpEL,但以下格式不正确。

@Value("#{T(java.time.format.DateTimeFormatter.ofPattern(${spring.jackson.date-format}))}")
private DateTimeFormatter dtf;

1 个答案:

答案 0 :(得分:1)

假设@PersistenceContext(unitName = "myUnit") EntityManager entityManager; 只有一个构造函数,你可以改为使用构造函数注入:

DateService