錯誤堆疊 No default constructor found ... NoSuchMethodException: User.<init>() 表示 Spring 嘗試用**無參建構子**實例化 User 物件再注入屬性,但 User 類別僅定義了帶參建構子。
在 User 類別加入 **public 無參建構子**:
public class User {
// 現有屬性與帶參建構子...
// 新增:Spring 需要的無參建構子
public User() {}
// getter/setter...
}
@ModelAttribute 方法先執行,將 User 放入 Map。testmodelattribute(User user) 觸發資料綁定:Spring 實例化 User → 呼叫 setter 注入表單欄位。new User(),缺少無參建構子即拋出異常。@NoArgsConstructor 即可自動生成。@ConstructorBinding (Spring 2.5+) 配合單一帶參建構子。補上無參建構子,重新部署即可解決此錯誤。