import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* Spring 工具类
*
* @author zx
* @date 2011-10-13
*/
@Component("springUtils")
public class SpringUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext;
public SpringUtils() {
}
@Override
public void setApplicationContext(ApplicationContext context) throws BeansException {
this.applicationContext=context;
}
/**
* 根据beanName 获取 spring bean
* @param beanName
* @return Object
*/
public static Object getBean(String beanName){
if(beanName==null)return null;
return applicationContext.getBean(beanName);
}
/**
* 根据bean type 获取springBean
* @param clazz
* @return
*/
public static Object getBeanByType(Class clazz){
return applicationContext.getBean(clazz);
}
/**
* 获取 Spring applicationContext
* @return
*/
public static ApplicationContext getContext() {
return applicationContext;
}
}
分享到:
相关推荐
本文将详细介绍Spring中获取ApplicationContext对象的工具类实现方法。 在Spring中,典型的获取ApplicationContext对象的方式是使用ApplicationContext接口的一个实现类,如ClassPathXmlApplicationContext。这是一...
SpringUtil工具类(获取applicationContext,通过name获取 Bean,通过class获取Bean,通过name,以及Clazz返回)
通过`ApplicationContext`,我们可以获取到Spring容器管理的所有Bean,或者根据Bean的名称或类型来获取特定的Bean实例。本文将详细介绍如何在Spring中通过`ApplicationContext`的`getBean`方法获取注入对象,并通过...
System.out.println("========ApplicationContext 配置成功,在普通类可以通过调用 SpringUtils.getAppContext() 获取 applicationContext 对象,applicationContext=" + SpringUtil.applicationContext + "========...
这样,我们可以在`SpringUtil`类中存储这个ApplicationContext的实例,然后通过静态方法`getObject`来获取任何需要的Bean。配置这个工具类为Spring的一个Bean,如下所示: ```xml <bean id="springUtil" class="org...
在实际开发中,我们通常会使用`ApplicationContext`接口来获取Spring容器。可以通过多种方式来初始化`ApplicationContext`,其中最常见的有以下几种: 1. **XML配置文件**:使用XML配置文件来定义Spring容器中Bean...
通过使用 ApplicationContext 对象,我们可以获取 SpringUtil 工具类的实例对象,从而实现业务逻辑的处理。 三、单例模式 在 SpringBoot 中,使用单例模式是非常常见的。单例模式可以使得我们的工具类只有一个实例...
`getBean`是Spring容器的核心接口`ApplicationContext`或`BeanFactory`中的一个方法,它允许我们从Spring容器中获取一个已经定义和初始化的Bean。当你在Spring配置文件(XML或Java配置)中声明了一个Bean,Spring会...
解决方法是使用 Spring 的上下文管理工具类,来获取 ApplicationContext,进而获取JwtTokenFilter实例。 四、解决方法 解决方法是使用 Spring 的上下文管理工具类,来获取 ApplicationContext,进而获取 ...
//创建spring的ApplicationContext ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); //输出spring容器 System.out.println(ctx); //打印加载的bean名称 ...
然而,在某些场景下,如测试、独立运行的工具类或者非Spring管理的组件中,我们可能需要在不依赖整个Spring容器的情况下获取Bean。这就是`SpringUtils.java`这个工具类的作用,它提供了一种便捷的方式,使得在非...
SpringUtil.applicationContext = applicationContext; } } public static ApplicationContext getApplicationContext() { return applicationContext; } public static Object getBean(String name){ ...
在Spring框架中,静态方法内部注入Bean导致空指针异常是一个常见的问题,特别是在处理较旧的项目时。这里我们分析两种解决这个问题的方法。 首先,让我们深入理解问题的原因。在Spring中,`@Autowired`注解用于自动...
然后在普通类中,可以使用`SpringUtil.getBean("myBean")`来获取bean。 6. **Spring EL(Expression Language)**:在某些情况下,我们可能需要动态地获取bean,这时可以使用Spring EL。例如,在`@Value`注解中,...
Spring Boot 使用上下文获取 Bean 在 Spring Boot 项目中,有时候需要在 Spring 容器加载前就注入 Bean,这时候如果直接使用 @Autowire 注解,将会出现控制针异常。为了解决这个问题,我们可以创建一个 ...
避免重复造轮子,开发中常用封装...渲染工具类,资源文件相关的操作类,对比两个对象的变化的工具类,Spring的ApplicationContext的持有者,可以用静态方法的方式获取spring容器中的bean,sql语句工具类,高频方法集合类
- 在Java代码中,可以使用`ApplicationContext`接口来获取Spring容器中的Bean。以下是一个示例代码: ```java package day01; import java.util.Calendar; import org.springframework.context.ApplicationContext...
在上面的代码中,我们使用了 Spring 的 `ApplicationContext` 来获取所有的接口实现类,并将其存储在一个 Map 中。这样,我们就可以轻松地获取某个接口的所有实现类。 方式二:借助 ServiceLoader 类 ...
在Spring框架中,`util:命名空间`是一个非常实用的功能,它允许开发者更方便地配置集合类型(如List、Set、Map等)以及常量,从而简化XML配置文件的编写。下面将详细介绍如何使用`util:命名空间`来简化Spring配置。 ...