我正在學習 spring boot 并試圖弄清楚我應該如何描述依賴關系。
我知道依賴注入是 Spring 框架的核心功能之一。
我應該如何描述編碼中的依賴關系?
例如,我有兩個班級,Company并且Address
@Entity
public class Address {
@Id
@GeneratedValue
private int id;
private String street;
private int number;
}
Company類依賴,Address我如何描述這種依賴?
我應該和addressId
@Entity
public class Company {
@Id
@GeneratedValue
private int id;
private String name;
private int addressId;
}
或Address物件本身
@Entity
public class Company {
@Id
@GeneratedValue
private int id;
private String name;
private Address address;
}
uj5u.com熱心網友回復:
你使用物件。通過添加 a@JoinColumn您可以指定該物件上的哪個欄位用作參考。
@Entity
public class Company {
@Id
@GeneratedValue
private int id;
private String name;
@OneToOne
@JoinColumn(name="id")
private Address address;
}
請注意,這根本不是依賴注入的示例。依賴注入是一個概念,您的類只知道它需要一種功能,并且提供了它的實作,而不必知道該實作。在 Srping 中,這通常是通過在某些介面中自動裝配并將實作作為 Spring bean 提供的。這是通過使用@Autowire注解來完成的,當連接的欄位是 final 并且提供了建構式時,可以省略該注解,這稱為建構式注入。
* 打個比方,假設一位建筑工人要求他的學生遞給他一個東西,以便在墻上鉆孔。他不關心它是“博世”還是 400 瓦電鉆。他只關心它鉆洞。
uj5u.com熱心網友回復:
由于您正在使用 Pojos,因此無需考慮依賴關系,因為這些模型將不依賴于 spring 容器中的任何組件(至少對于您的情況)。當您的類需要單個公共物件/組件時,您可以考慮依賴注入。
所以回答你的問題是,你需要采用第二種方法。您需要使用地址物件本身。
請參閱檔案: https ://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-introduction
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/482305.html
