`

spring获取bean

 
阅读更多
引用
场景:

在代码中需要动态获取其它bean

实例代码:
package org.company.xxx;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

/**
 * 获取spring容器,以访问容器中定义的其他bean
 */
public class SpringContextUtil implements ApplicationContextAware {

	// Spring应用上下文环境
	private static ApplicationContext applicationContext;

	/**
	 * 实现ApplicationContextAware接口的回调方法,设置上下文环境
	 */
	public void setApplicationContext(ApplicationContext applicationContext)
			throws BeansException {
		SpringContextUtil.applicationContext = applicationContext;
	}

	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}

	/**
	 * 获取对象 这里重写了bean方法,起主要作用
	 * 
	 * @param name
	 * <a href="http://my.oschina.net/u/556800" class="referer" target="_blank">@return</a>  Object 一个以所给名字注册的bean的实例
	 * @throws BeansException
	 */
	public static Object getBean(String beanId) throws BeansException {
		return applicationContext.getBean(beanId);
	}
}


Bean配置:
<beanid="SpringContextUtil"class="org.company.xxx.SpringContextUtil"/>

注:

1、实现了ApplicationContextAware接口,在Bean的实例化时会自动调用setApplicationContext()方法!

2、通过调用静态方法getBean即可获取
分享到:
评论

相关推荐

    spring 获取bean

    spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean

    java *spring工具类 方便在非spring管理环境中获取bean

    java *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取...

    Java中Spring获取bean方法小结

    - **BeanFactory** 是Spring中最基础的IoC容器,负责管理和实例化Bean。它允许开发者定义Bean的生命周期和依赖关系,提供了低级别的配置选项。 - **ApplicationContext** 是BeanFactory的扩展,增加了更多面向应用...

    几种spring获取bean的方法.txt

    根据提供的文件信息,我们可以总结出以下关于Spring框架中获取Bean的几种方法的相关知识点: ### Spring框架简介 Spring框架是一款开源的轻量级Java EE应用程序开发框架,它通过提供一系列强大的功能来简化Java...

    Spring获取Bean类

    Spring获取Bean类

    Spring如何获取Bean

    Spring 中获取 Bean 的多种方式 在 Spring 框架中,获取 Bean 是一个非常重要的步骤,因为它是使用 Spring 框架的基础。Spring 提供了多种方式来获取 Bean,这些方式可以根据不同的应用场景选择使用。 通过 XML ...

    spring中的bean

    在本篇中,我们将深入探讨"Spring中的Bean"这一主题,包括Bean的定义、配置以及如何在实际应用中使用。 首先,我们需要理解什么是Spring中的Bean。在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring...

    通过spring获取Bean.zip

    零基础入门spring,通过spring获取Bean。我博客https://blog.csdn.net/qq_40634846的Spring专栏里面有循序渐进的spring文章,有兴趣可以关注本博客,希望对大家有用。

    java spring工具类 方便在非spring管理环境中获取bean

    java spring工具类 方便在非spring管理环境中获取beanjava spring工具类 方便在非spring管理环境中获取beanjava spring工具类 方便在非spring管理环境中获取beanjava spring工具类 方便在非spring管理环境中获取bean...

    线程中获取spring 注解bean

    当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...

    @PostConstruct注解用来获取springbean对象.txt

    获取springbean对象

    第一章 Spring4 简介及获取Bean

    - 博文链接:https://1151461406.iteye.com/blog/2389888,这个链接可能包含有关Spring4入门和获取Bean的具体教程。 - 在线课程:如Coursera、Udemy等平台上的Spring课程。 - 开源项目:参与开源项目,了解Spring在...

    Spring Bean创建初始化流程.docx

    在预实例化过程中,`getBean(beanName)`被调用,这是`AbstractBeanFactory`类中的一个方法,用于从Bean工厂中获取指定名称的Bean实例。 6. **实际获取Bean**: 进入`doGetBean()`方法,这是Bean实例化的关键步骤...

    Spring实战之获得Bean本身的id操作示例

    在上面的测试类中,我们首先创建了一个Spring容器,然后从容器中获取了"chinese" Bean,并调用了info()方法。info()方法将输出 Bean的配置id。 最后,让我们来看一下测试结果: ``` Chinese实现类, 部署该Bean时...

    Spring在代码中获取bean的方法小结

    总的来说,Spring提供了多种方式在代码中获取Bean,选择哪种方式取决于具体的应用场景和需求。通常,推荐使用依赖注入,如`@Autowired`,以保持代码的简洁性和可测试性。但在某些特殊情况下,如需在非Spring管理的类...

    Web项目中获取SpringBean与在非Spring组件中获取SpringBean.pdf

    `@Autowired`注解会自动注入BeanFactory,由于它是静态的,所以在任何地方都可以直接通过`SpringWiredBean.beanFactory`获取Bean。 这种方法避免了在XML配置文件中添加额外的Bean声明,更加简洁。但是需要注意,...

    学习Spring的一点代码01:如何获取bean?

    在本篇文章中,我们将探讨如何在Spring中获取Bean,以及相关的一些核心概念和技术。 首先,Spring容器是管理Bean的中心,它负责Bean的生命周期管理,包括创建、初始化、装配和销毁等过程。容器通过读取配置元数据...

    在web容器(WebApplicationContext)中获取spring中的bean

    Spring把Bean放在这个容器中,普通的类在需要的时候,直接用getBean()方法取出

    spring运行过程中动态注册bean

    在Spring框架中,动态注册Bean是一项非常实用的功能,它允许我们在应用运行时向Spring容器添加新的Bean定义。这种能力在很多场景下都是极其有用的,比如根据不同的环境配置加载不同的服务实现,或者在运行时根据某些...

    spring创建bean简单示例

    3. **加载配置并获取Bean**: 在Java代码中,使用`ClassPathXmlApplicationContext`加载XML配置文件,并通过Bean的ID获取并使用Bean实例。 ```java ApplicationContext context = new ...

Global site tag (gtag.js) - Google Analytics