5 回答

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
照著你的例子再往下寫(xiě)兩行。
public class Main{
public static void main(String[] args){
ClassPathXmlApplicationContext ctx = new FileSystemXMLApplicationContext("beans.xml");
Hello hello = ctx.getBeans("hello");
hello.say();
}
}
class Hello {
@Autowired
private DbUtil db;
public void say(){
System.out.println(db.getWelcomeInfo());
}
}
web項(xiàng)目里最初處理請(qǐng)求的那一層還是需要通過(guò)getBeans()生成的。只不過(guò)這個(gè)步驟是 tomcat/strtus/springMVC做的。
Spring 會(huì)為被他管理的類(lèi)實(shí)現(xiàn)自動(dòng)注入,然而你程序啟動(dòng)的main類(lèi)并不是由 Spring 管理生成的。

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
使用Spring的依賴注入你首先要從Spring中獲取bean,這樣才能保證bean的依賴已經(jīng)注入了。你自己new一個(gè)對(duì)象出來(lái),Spring怎么可能幫你注入呢?
你可以自己把getBeans方法封裝一下
添加回答
舉報(bào)