Spring 获取bean对象的两种常见方法

目录:

1、从默认容器下获取bean对象实例

2、从指定容器下读取bean对象实例

内容:

以下读取bean实例都是以确保整个web应用中只有一个spring容器为前提的。

1、从默认容器下获取bean对象实例

    web应用启动时,会将Spring相关配置文件的bean对象加载到一个默认的容器中,而这些bean的实例也只能在该容器中使用,因此当出现与容器非关联类使用容器中的bean实例时,就需要从默认容器中取出bean实例,读取方法如下:

WebApplicationContext wac =     ContextLoader.getCurrentWebApplicationContext(); 

wac.getBean(beanId)

 2、从指定容器下读取bean对象实例

    有一种情况是在我们启动web服务时,通过servlet来进行spring容器初始化的,这样我们就可以通过将spring的容器放入一个单例类的属性中,以便后面代码使用,设置容器方法如下:

String path = "servlet传递进来的配置文件路径";
ApplicationContext applicationContext = new FileSystemXmlApplicationContext(
					new String[] { path });
SpringBeanFactory.getInstance().setWac(applicationContext);

  使用方法如下:

SpringBeanFactory.getInstance().getWac().getBean(beanId);

相关推荐