Spring框架下获取Bean的几种方式

Spring框架下获取Bean的几种方式,第1张

第一种方式: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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9303488.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存