spring2 是如何找到bean的

modou 2008-08-21 02:51:34
我是这样调用spring里的bean:
Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
MyDAO dao = (MyDAO) factory.getBean("MyDAO");

我看了一个源代码,除了在web.xml里面加入了
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>applicationContext.xml</param-value>
</context-param>

其他地方都没有直接使用applicationContext.xml,就调用了applicationContext.xml文件中的bean,是怎么做到的呢?
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
伊风的路 2008-08-22
  • 打赏
  • 举报
回复
如果需要了解里面的处理过程,可以详细了解BeanFactory这个接口。

在appliaction.xml这个配置文件中一定有
<bean id="MyDAO" class="这里是对应的类名(package.class)" />


Resource是读取资源文件的类。在这里是是用于加载配置文件application.xml,使java类可以运用.
在通过XmlBeanFactory中的getBean(String beanName)这个方法来将你的MyDAO实例化。

dragon2k 2008-08-21
  • 打赏
  • 举报
回复
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

这个listener 在 servlet 容器初始化的时候,自动实例化,它会读取这个配置的
dragon2k 2008-08-21
  • 打赏
  • 举报
回复
看web.xml 中是不是配置了ContextListener 或者 Servlet ,系统初始化的时候自动读取配置文件

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧