Spring Boot 获取ApplicationContext

 1 package com.demo;
 2
 3 import org.springframework.beans.BeansException;
 4 import org.springframework.context.ApplicationContext;
 5 import org.springframework.context.ApplicationContextAware;
 6 import org.springframework.stereotype.Component;
 7
 8 @Component
 9 public class SpringUtils implements ApplicationContextAware {
10     private static ApplicationContext applicationContext = null;
11
12     @Override
13     public void setApplicationContext(ApplicationContext arg0) throws BeansException {
14         if (SpringUtils.applicationContext == null) {
15             SpringUtils.applicationContext = arg0;
16         }
17     }
18
19     // 获取applicationContext
20     public static ApplicationContext getApplicationContext() {
21         return applicationContext;
22     }
23
24     // 通过name获取 Bean.
25     public static Object getBean(String name) {
26         return getApplicationContext().getBean(name);
27     }
28
29     // 通过class获取Bean.
30     public static <T> T getBean(Class<T> clazz) {
31         return getApplicationContext().getBean(clazz);
32     }
33
34     // 通过name,以及Clazz返回指定的Bean
35     public static <T> T getBean(String name, Class<T> clazz) {
36         return getApplicationContext().getBean(name, clazz);
37     }
38
39 }

与Spring Boot启动类同包或其子包

时间: 2024-10-11 08:05:23

Spring Boot 获取ApplicationContext的相关文章

spring中获取applicationContext

常用的5种获取spring 中bean的方式总结: 方法一:在初始化时保存ApplicationContext对象代码:ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");ac.getBean("beanId");说明:这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况. 方法二:通过Spring提供

Spring +quartz获取ApplicationContext上下文

job存在数据库中,可以进行动态的增增删改查,最近遇到了如何获取ApplicationContext上下文的问题,解决办法如下 applicationContext-quartz.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframewo

spring中获取applicationContext(2)

前几天写web项目的时候,用到了spring mvc. 但是又写bean.我要在代码里面生成,而这个bean里面,又有一些属性是通过spring注入的. 所以,只能通过ApplicationContext来获取. 在servlet里面获取ApplicationContext其实可以通过spring提供的方法: ? 1 WebApplicationContextUtils.getWebApplicationContext(ServletContext) 来获取. 这个方法前提是要在web.xml里

Spring Boot - 获取所有的Bean信息

前言 Spring Boot启动的时候需要加载许多Bean实现最小化配置,本文将尝试找出Spring启动后加载的所有Bean信息: 通过ApplicationContext 去获取所有的Bean 通过CommandLineRunner接口,可以实现在Spring Boot完全启动后执行一些代码逻辑,本文将执行的逻辑是打印所有Bean的信息: 1) 通过 ApplicationContext.getBeanDefinitionNames() 方法获取所有Bean的名称: 2) 通过 Applica

Spring boot获取getBean

package com.job.center.quartz.common; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component;

曹工说Spring Boot源码(4)-- 我是怎么自定义ApplicationContext,从json文件读取bean definition的?

写在前面的话 相关背景及资源: 曹工说Spring Boot源码系列开讲了(1)-- Bean Definition到底是什么,附spring思维导图分享 工程代码地址 思维导图地址 工程结构图: 大体思路 总体来说,bean definition是什么,我们前面几讲,说了个大概了:目前,我们将聚焦于怎么获取bean definition. 我们这次做个实验,就是将bean definition(一共两个bean,有依赖关系,依赖是手动指定的)定义在json文件内,然后自定义一个applicat

Spring获取ApplicationContext方式,和读取配置文件获取bean的几种方式

转自:http://chinazhaokeke.blog.163.com/blog/static/109409055201092811354236  Spring获取ApplicationContext方式 我自己常用的方法: 读取一个文件1 //创建Spring容器 2 ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); 3 //获取chinese 实例 4 Person p = ctx.g

Spring获取ApplicationContext

在Spring+Struts+Hibernate中,有时需要使用到Spring上下文.项目启动时,会自动根据applicationContext配置文件初始化上下文,可以使用ApplicationContextAware接口去获得Spring上下文.创建以下的类: package com.school.tool; import org.springframework.beans.BeansException; import org.springframework.context.Applicat

spring 代码中获取ApplicationContext(@AutoWired,ApplicationListener)

2017年度全网原创IT博主评选活动投票:http://www.itbang.me/goVote/234    学习spring框架时间不长,一点一滴都得亲力亲为.今天忽然觉得老是通过@Autowired自动装载组件不太舒服,老是要到类下写注解.于是考虑直接获取ApplicationContext,调用getBean去获取自己想要的Bean实例.网上查了资料,一开始错了方向,通过加载xml的方式初始化ApplicationContext,真是可笑的过程,咱这也算明显的瞎搞.下面讲讲我现在学到的方