实例化Spring IoC容器

Spring提供两种IoC容器实现类型:

  • Bean工厂(Beanfactory),对应的接口是BeanFactory
  • 应用程序上下文(Applicationcontext),对应的借口是ApplicationContext,推荐使用。

ApplicationContext接口对应的实现类有:

  • ClassPathXmlApplicationContext:实现从classpath中装入XML配置文件,构建应用程序上下文。
  • FileSystemXmlApplicationContext:实现从文件系统或URL装载XML配置文件。
  • XmlWebApplicationContextXmlPortletApplicationContext:仅能用于Web和入口应用程序。

实例化应用程序上下文

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext*.xml");

IoC容器中得到Bean

为了从Bean工厂或者应用程序上下文中得到已声明的bean,只需要调用getBean()方法并且传递唯一的bean名称。getBean()方法的返回类型为java.lang.Object,在使用之前必须将其转换为实际的类型。

SequenceGenerator generator = (SequenceGenerator) context.getBean("sequenceGenerator");

web项目,根据BeanId 获取实体Bean

因为在web.xml中已经使用如下配置实例化应用程序上下文

<listener>
	<listener-class>
		org.springframework.web.context.ContextLoaderListener
	</listener-class>
</listener>
在java代码中可以使用如下方法获得Bean

WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletActionContext.getServletContext());
SequenceGenerator generator = ctx.getBean("sequenceGenerator");
ServletActionContext.getServletContext()struts2提供的方法,获得web上下文信息。

参考文档:Spring 攻略(第 2 版)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值