1 Star 1 Fork 0

learning/java-learning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
SpringContextUtils.java 2.11 KB
一键复制 编辑 原始数据 按行查看 历史
chentf2 提交于 4年前 . 添加工具类
package com.chen.common.util;
import lombok.Data;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* Spring容器工具类
*
* @author chentiefeng
* @date 2020-10-23 11:37
*/
@Component
public class SpringContextUtils implements ApplicationContextAware {
/**
* 上下文对象
*/
private static final AppContainer APP_CONTAINER = new AppContainer();
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
APP_CONTAINER.setApplicationContext(applicationContext);
}
/**
* 获取ApplicationContext
*
* @return
*/
public static ApplicationContext getApplicationContext() {
return APP_CONTAINER.getApplicationContext();
}
/**
* 通过clazz,从spring容器中获取bean
*
* @param clazz
* @param <T>
* @return
*/
public static <T> T getBean(Class<T> clazz) {
return getApplicationContext().getBean(clazz);
}
/**
* 获取某一类型的bean集合
*
* @param clazz
* @param <T>
* @return
*/
public static <T> Map<String, T> getBeans(Class<T> clazz) {
return getApplicationContext().getBeansOfType(clazz);
}
/**
* 通过name和clazz,从spring容器中获取bean
*
* @param clazz
* @param <T>
* @return
*/
public static <T> T getBean(String name, Class<T> clazz) {
return getApplicationContext().getBean(name, clazz);
}
@Data
public static class AppContainer {
private ApplicationContext applicationContext;
}
/**
* 获取配置文件配置项的值
*
* @param key 配置项key
*/
public static String getEnvironmentProperty(String key) {
return getApplicationContext().getEnvironment().getProperty(key);
}
/**
* 获取spring.profiles.active
*/
public static String[] getActiveProfile() {
return getApplicationContext().getEnvironment().getActiveProfiles();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/learning-worksparce/java-learning.git
git@gitee.com:learning-worksparce/java-learning.git
learning-worksparce
java-learning
java-learning
master

搜索帮助