我是 Spring 的新手,現在正在開發一個基于 Spring Boot 的 Java 專案。當我使用 Entity Framework 時,我看到過類似的用于延遲加載的用法。但我不確定 Spring Framework 是否如此。您能否澄清一下為什么建構式用于 Spring 中的某些物體類?
public class Employee extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "employee_gen")
private long id;
@Column(nullable = false)
private String name;
public Employee(
@Nonnull String name
) {
this.name = name;
}
@Override
public int hashCode() {
return super.hashCode();
}
@Override
public boolean equals(Object other) {
return super.equals(other);
}
}
uj5u.com熱心網友回復:
宣告建構式背后的一個目的是初始化類中物件的資料欄位。constructors像看門人一樣作業object-oriented design
為什么在 Spring Boot 中使用建構式
使用物體的所有必需欄位創建一個建構式
原因:建構式應該始終將創建的實體保持在相同的狀態。
uj5u.com熱心網友回復:
如果您想在欄位中設定值并且不想使用 getter setter,那么您可以將值作為建構式傳遞,以便它自動初始化物件;
否則,你必須這樣做
沒有建構式
Employee emp = new Employee ();
emp.setName("ex");
帶建構式
Employee emp = new Employee ("ex");
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/379584.html
上一篇:如何使用Thymeleaf和HTML將資料顯示為兩列?
下一篇:將組件方法輸出注入到組件建構式中
