我们正在为 setter 和 getter 使用项目 lombok,我们更喜欢 setter 和 getter 的流畅访问器。当我们将 ConfigurationProperties 与流畅的访问器一起使用时,就会出现问题。Spring 无法将属性与类字段连接起来。当我们删除 Accessor 注释并使用经典的 setter 和 getter 时,同样的事情会起作用。有没有一种方法可以将自定义设置器与 Configurationproperties 一起使用import lombok.Data;import lombok.experimental.Accessors;import org.springframework.boot.context.properties.ConfigurationProperties;@ConfigurationProperties@Data@Accessors(fluent = true)public class Properties { private String property1; private String property2;}我们在访问此属性时遇到空指针异常properties.property1()
2 回答
动漫人物
TA贡献1815条经验 获得超10个赞
由于 Spring(以及 Spring Boot)使用Java Beans 规范,为此它使用可用的默认 JDK 支持。
自省和反射 API 将属性定义为 getter/setter。settervoid
和 getter 应该返回实际字段(返回和方法参数类型也必须匹配)。
因此,考虑到这一点,Spring 不支持自定义 getter/setter,仅仅是因为 JDK 类不提供此功能。
慕神8447489
TA贡献1780条经验 获得超1个赞
该框架按照约定命名为 get***/is*** 用于 getter,set*** 用于 setter。此外,@Accessors lombok 功能仍处于试验阶段。
添加回答
举报
0/150
提交
取消