1. 構(gòu)造器注入 /*帶參數(shù),方便利用構(gòu)造器進(jìn)行注入*/ public CatDaoImpl(String message){ this. message = message; }
2. setter方法注入 public class Id { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } }
3. 靜態(tài)工廠注入靜態(tài)工廠顧名思義,就是通過(guò)調(diào)用靜態(tài)工廠的方法來(lái)獲取自己需要的對(duì)象,為了讓spring管理所有對(duì)象,我們不能直接通過(guò)"工程類(lèi).靜態(tài)方法()"來(lái)獲取對(duì)象,而是依然通過(guò)spring 注入的形式獲取: public class DaoFactory { //靜態(tài)工廠 public static final FactoryDao getStaticFactoryDaoImpl(){ return new StaticFacotryDaoImpl(); } } public class SpringAction { private FactoryDao staticFactoryDao; //注入對(duì)象 //注入對(duì)象的 set 方法 public void setStaticFactoryDao(FactoryDao staticFactoryDao) { this.staticFactoryDao = staticFactoryDao; } } //factory-method="getStaticFactoryDaoImpl"指定調(diào)用哪個(gè)工廠方法
4. 實(shí)例工廠注入 實(shí)例工廠的意思是獲取對(duì)象實(shí)例的方法不是靜態(tài)的,所以你需要首先 new 工廠類(lèi),再調(diào)用普通的實(shí)例方法: public class DaoFactory { //實(shí)例工廠 public FactoryDao getFactoryDaoImpl(){ return new FactoryDaoImpl(); } } public class SpringAction { private FactoryDao factoryDao; //注入對(duì)象 public void setFactoryDao(FactoryDao factoryDao) { this.factoryDao = factoryDao; } }