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);
?