鍍金池/ 問答/Java  Linux/ Java spring getBean

Java spring getBean

public class test {

public static void main(String[] args){
    ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//讀取bean.xml中的內容
    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); 這樣寫又可以
新手 請擔待~

回答
編輯回答
拼未來

轉換類型了被

2018年3月8日 23:58
編輯回答
茍活

通過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來獲取這個對象,沒有對象類型,所以需要強制轉換成對應的Person對象。
第二種的也是通過bean的id來獲取對象,參數(shù)傳入了對象類型,就不需要自己去強制轉換了

2018年8月17日 00:32