安装了Lombok插件。使用IntelliJ 15.模型的结构显示了getter和setter但是我从Thymeleaf得到以下错误。
错误:
无效的属性' postTitle' bean类[com.blog.domain.Post]:Bean属性' postTitle'不可读或getter方法无效:getter的返回类型是否与setter的参数类型匹配?
模特:
@Entity
public @Data class Post {
@Id
@GeneratedValue
private Long id;
@NotEmpty
private String postTitle;
@NotNull
@ManyToOne
private Author postAuthor;
@NotNull
@Temporal(TemporalType.DATE)
private Date postDate;
@Column(columnDefinition = "TEXT")
private String postTeaser;
@Column(columnDefinition = "TEXT")
private String postBody;
}
加载表单的控制器方法:
@GetMapping("/create")
public String postForm(Post post, Model model) {
model.addAttribute("authors", authorService.getAllAuthors());
return "postform";
}
发生错误的字段:
<input id="postTitle" type="text" th:field="*{postTitle}" />
我出错的任何想法?手动添加getter和setter可以解决问题。什么是lombok在这里打破它?
答案 0 :(得分:0)
我遇到了一个名为“ isEnabled”的布尔值。将其重命名为“已启用”即可。虽然不确定原因。