如何取得Spring管理的bean

如何取得Spring管理的bean,第1张

如果能获取spring的上下文环境ApplicationContext就直接getBean就行。如果没有就需要自己加载spring上下文环境。

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContextxml");

IComplexUserService service = (IComplexUserService)ctxgetBean("userWsClient", IComplexUserServiceclass);

getBean的参数userWsClient是applicationContextxml里配置的bean的id

通过xml配置文件

bean配置在xml里面,spring提供多种方式读取配置文件得到ApplicationContext

第一种方式:FileSystemXmlApplicationContext

通过程序在初始化的时候,导入Bean配置文件,然后得到Bean实例:

ApplicationContext ac = new FileSystemXmlApplicationContext(applicationContextxml)

acgetBean(beanName);

第二种方式:WebApplicationContextUtil

在B/S系统中,通常在webxml初始化bean的配置文件,然后由WebAppliCationContextUtil得到ApplicationContext例如:

ApplicationContext ctx = WebApplicationContextUtilsgetRequiredWebApplicationContext(ServletContext sc);

ApplicationContext ctx =�0�2�0�2 WebApplicationContextUtilsgetWebApplicationContext(ServletContext sc);

其中 servletContext sc 可以具体 换成 servletgetServletContext()或者 thisgetServletContext() 或者 requestgetSession()getServletContext();

另外,由于spring是注入的对象放在ServletContext中的,所以可以直接在ServletContext取出WebApplicationContext 对象:

明显的区别:注入的话你可以通过修改配置文件管理bean;依赖的方式即getbean只能通过通过修改代码

代码设计角度:通过修改代码会增加代码之间的耦合度,使代码变得更复杂;而使用注入的方式会降低这种耦合度

以上就是关于如何取得Spring管理的bean全部的内容,包括:如何取得Spring管理的bean、Spring如何获取Bean、spring中context.getBean和注入有什么区别啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9338642.html

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

发表评论

登录后才能评论

评论列表(0条)

保存