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); 这样写又可以新手 请担待~
2 回答

慕后森
TA贡献1802条经验 获得超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>
第一种的就是根据这个bean的id来获取这个对象,没有对象类型,所以需要强制转换成对应的Person对象。
第二种的也是通过bean的id来获取对象,参数传入了对象类型,就不需要自己去强制转换了
添加回答
举报
0/150
提交
取消