2 回答

TA貢獻1780條經驗 獲得超1個贊
你不應該直接從上下文中獲取你的 bean,而是你應該 @Autowire 它們并讓 Spring 為你注入它。
這是通過構造函數注入的兩個依賴項的示例:
@Component
public class Car {
private final Engine engine;
private final Transmission transmission;
@Autowired
public Car(Engine engine, Transmission transmission) {
this.engine = engine;
this.transmission = transmission;
}
}
請注意,您的類必須是 Spring 組件本身才能進行注入。
Spring 中的依賴注入實際上分為三種類型:構造函數注入、字段注入和 setter 注入。Spring 團隊推薦使用基于構造函數的方法,這篇文章為這一點帶來了非常好的論據:https : //blog.marcnuri.com/field-injection-is-not-recommended/
您可以參考此鏈接以獲取有關基于構造函數的注入的更多信息:https : //www.baeldung.com/constructor-injection-in-spring

TA貢獻1831條經驗 獲得超9個贊
如果你已經初始化了你的 bean,你可以通過 @Autowired 從你的 Spring 應用程序中的每個組件訪問它。
private SomeClass myBean;
@Autowired
public void setMyBean(SomeClass myBean){
this.myBean =myBean;
}
要不就:
@Autowired
private SomeClass myBean;
我更喜歡第一種方法,在我眼里看起來更漂亮。
添加回答
舉報