Spring 问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 12:13:26
小弟初学Spring 有些东西不明白 帮忙看一下吧 谢谢了
org.springframework.context.support.AbstractApplicationContext;
AbstractApplicationContext aa=new AbstractApplicationContext();
aa.getBean("subjectDAO");
小弟不明白这个getBean方法是做什么用的?万分感谢!

AbstractApplicationContext aa=new AbstractApplicationContext(); --获取一个容器实例;

aa.getBean("subjectDAO"); --获取容器里配置好的subjectDAO实例.

这样写你就明白了:
XXDAO dao =(XXDAO)aa.getBean("subjectDAO");
前提是<bean id="subjectDAO" class="包名.XXDAO"/>class指定的就是你要获得的那个class

得到一个实例

根据你类的命名得到此类的具体实例;
就是获得这个类的实际用途

aa.getBean("subjectDAO");

上面是对aa做定义

getBean()方法参数是string

返回值是一个applicationContext.xml中你定义的一个
<bean id="subjectDAO" class="一个类">...</bean>中的class

帅哥,你应该写成 Object o = aa.getBean("subjectDAO");
getBean方法返回一个对象,可以进行强转成你想要的类型(前提他真的是),
这个对象是你在配置文件中,配置的id为“subjectDAO”的具体实现类的实例,
此方法底层实现涉及到反射,所以你的实现类必须有空的构造方法