猿问

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);//创建bean的引用对象
  //  p.info();
}

}

Q:

Person p = ( Person ) ctx.getBean("person"); 为什么 这段 要写写( Person ),不是返回对象了吗
Person p = ctx.getBean("person",Person.class); 这样写又可以
新手 请担待~

至尊宝的传说
浏览 395回答 2
2回答

慕后森

通过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>第一种的就是根据这个bean的id来获取这个对象,没有对象类型,所以需要强制转换成对应的Person对象。第二种的也是通过bean的id来获取对象,参数传入了对象类型,就不需要自己去强制转换了

九州编程

转换类型了被
随时随地看视频慕课网APP

相关分类

Java
我要回答