
第一种方式:FileSystemXmlApplicationContext通过程序在初始化的时候,导入Bean配置文件,然后得到Bean实例:ApplicationContextac=newFileSystemXmlApplicationContext(applicationContextxml)acgetBean(beanName);第二种方式:WebApplicationContextUtil在B/S系统中,通常在webxml初始化bean的配置文件,然后由WebAppliCationContextUtil得到ApplicationContext例如:ApplicationContextctx=WebApplicationContextUtilsgetRequiredWebApplicationContext(ServletContextsc);ApplicationContextctx=WebApplicationContextUtilsgetWebApplicationContext(ServletContextsc);其中servletContext sc 可以具体 换成 servletgetServletContext()或者 thisgetServletContext()或者requestgetSession()getServletContext();另外,由于spring是注入的对象放在ServletContext中的,所以可以直接在ServletContext取出WebApplicationContext 对象:WebApplicationContext webApplicationContext = (WebApplicationContext) servletContextgetAttribute(WebApplicationContextROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);下面几种方式没有用过,
一、SpringMVC带的有两种方式:
ModelMap,大概用法:
@RequestMapping(value = "method1")
public String imports(>
写一个类,实现BeanFactoryAware接口,把该接口配置到spring中,然后把getbean方法写成静态的,就可以动态获取了。下面是示例:
Java代码
public class Springfactory implements BeanFactoryAware {
private static BeanFactory beanFactory;
// private static ApplicationContext context;
public void setBeanFactory(BeanFactory factory) throws BeansException {
thisbeanFactory = factory;
}
/
根据beanName名字取得bean
@param beanName
@return
/
public static <T> T getBean(String beanName) {
if (null != beanFactory) {
return (T) beanFactorygetBean(beanName);
}
return null;
}
}
使用的时候,通过SpringfactorygetBean("beanName"),就可以获取到bean了。注意:这个是静态方法,直接通过类名去调用。
以上就是关于Spring框架下获取Bean的几种方式全部的内容,包括:Spring框架下获取Bean的几种方式、spring mvc里,jsp中怎么获取bean、如何从当前spring容器中获得bean等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)