
第一种方式: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);下面几种方式没有用过,
程序如下:
1 ServletContext context = configgetServletContext();
2 ApplicationContext ac = WebApplicationContextUtils
3 getWebApplicationContext(context);
4 TestBean testBean = (TestBean) acgetBean("testBean");
spring xml中定义
<!--spring 工具类-->
<bean id="springContextUtil" class="comskylinepubutilsSpringContextUtil"/>
SpringContextUtil的代码如下
package comskylinepubutils;
import orgspringframeworkbeansBeansException;
import orgspringframeworkcontextApplicationContext;
import orgspringframeworkcontextApplicationContextAware;
import javautilLocale;
/
Spring 获取 bean工具类
Author: skyline{>
//
public ModelAndView toPage(>
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContextxml");//获取配置文件信息
Test1 test1=(Test1) contextgetBean("t1");//根据bean的id获得bean
test1show(test1getName(), test1getSex());
也可以用注解获取
@Resource //先按属性名查找 如果没有 再按属性类型查找
//以下两种注解 需要有setter 方法
@Autowired//按类型查找
@Qualifier("beanName")//按名字查找
private BizCheckResultDao bizCheckResultDao;
以上就是关于Spring框架下获取Bean的几种方式全部的内容,包括:Spring框架下获取Bean的几种方式、spring mvc中如何获取bean、如何在线程中获取spring 管理的bean等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)