public class test {
public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//讀取bean.xml中的內(nèi)容
Person p = ( Person ) ctx.getBean("person");
p.info();
// Person p = ctx.getBean("person",Person.class);//創(chuàng)建bean的引用對象
// p.info();
}
}
Q:
Person p = ( Person ) ctx.getBean("person"); 為什么 這段 要寫寫( Person ),不是返回對象了嗎Person p = ctx.getBean("person",Person.class); 這樣寫又可以新手 請擔(dān)待~
2 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個贊
通過ApplicationContext的getBean方法來獲取Spring容器中已初始化的bean。getBean一共有以下四種方法原型:
getBean(String name)
getBean(Class<T> type)
getBean(String name,Class<T> type)
getBean(String name,Object[] args)
你用的就是第一種和第三種,
xml里面對象的配置如<bean id="person" class="com.bean.Person"></bean>
第一種的就是根據(jù)這個bean的id來獲取這個對象,沒有對象類型,所以需要強(qiáng)制轉(zhuǎn)換成對應(yīng)的Person對象。
第二種的也是通過bean的id來獲取對象,參數(shù)傳入了對象類型,就不需要自己去強(qiáng)制轉(zhuǎn)換了
添加回答
舉報
0/150
提交
取消