Java中如何获取Spring中配置的bean

2024年11月28日 15:51
有3个网友回答
网友(1):

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 二、如何在程序中获取Spring配置的bean呢? 方法一:在初始化时保存ApplicationContext对象 代码: 1 2 ApplicationContext ac = new FileSystemXmlApplicationContex( applica 一、什么是Spring? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 方法一:在初始化时保存ApplicationContext对象代码:1 2ApplicationContext ac = newFileSystemXmlApplicationContex("applicationContext.xml"); ac.getBean("beanId"); ApplicationContext ac = new FileSystemXmlApplicationContex("applicationContext.xml"); ac.getBean("beanId");说明:这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。 方法二:通过Spring提供的工具类获取ApplicationContext对象代码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15importorg.springframework.web.context.support.WebApplicationContextUtils; ApplicationContext ac1 = WebApplicationContextUtils .getRequiredWebApplicationContext(ServletContext sc) ApplicationContext ac2 = WebApplicationContextUtils .getWebApplicationContext(ServletContext sc) ac1.getBean("beanId"); ac2.getBean("beanId"); importorg.springframework.web.context.support.WebApplicationContextUtils; ApplicationContext ac1 = WebApplicationContextUtils .getRequiredWebApplicationContext(ServletContext sc) ApplicationContext ac2 = WebApplicationContextUtils .getWebApplicationContext(ServletContext sc) ac1.getBean("beanId"); ac2.getBean("beanId"); 方法三:继承自抽象类ApplicationObjectSupport 说明:抽象类ApplicationObjectSupport提供getApplicationContext()方法,可以方便的获取到 ApplicationContext。Spring初始化时,会通过该抽象类的 setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。 方法四:继承自抽象类WebApplicationObjectSupport 说明:类似方法三,调用getWebApplicationContext()获取WebApplicationContext 方法五:实现接口ApplicationContextAware 说明:实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。

网友(2):

Spring 文件中将bean注入到想要获得该bean的类中。

或者:
ApplicationContext app=WebApplicationContextUtils.getWebApplicationContext(event
.getServletContext());

其中event 是ServletContextEvent 可以在listener中找到

网友(3):

Spring 文件中将bean注入到想要获得该bean的类中。

或者:
ApplicationContext app=WebApplicationContextUtils.getWebApplicationContext(event
.getServletContext());

其中event 是ServletContextEvent 可以在listener中找到