pull/2/head
zxy 5 months ago
parent 9d8305aef1
commit ca6d2c82e8

@ -1,4 +1,3 @@
package com.utils; package com.utils;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
@ -6,38 +5,78 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
* Spring Context * Spring Context
* ApplicationContextAware Spring ApplicationContext
* Spring 便 Spring Bean
*/ */
@Component @Component
public class SpringContextUtils implements ApplicationContextAware { public class SpringContextUtils implements ApplicationContextAware {
// 静态的 ApplicationContext 实例,用于存储 Spring 应用上下文
public static ApplicationContext applicationContext; public static ApplicationContext applicationContext;
/**
* ApplicationContextAware Spring
* ApplicationContext
*
* @param applicationContext Spring
* @throws BeansException ApplicationContext
*/
@Override @Override
public void setApplicationContext(ApplicationContext applicationContext) public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException { throws BeansException {
SpringContextUtils.applicationContext = applicationContext; SpringContextUtils.applicationContext = applicationContext;
} }
/**
* Bean Spring Bean
*
* @param name Bean
* @return Bean
*/
public static Object getBean(String name) { public static Object getBean(String name) {
return applicationContext.getBean(name); return applicationContext.getBean(name);
} }
/**
* Bean Spring Bean
*
* @param name Bean
* @param requiredType Bean
* @param <T> Bean
* @return Bean
*/
public static <T> T getBean(String name, Class<T> requiredType) { public static <T> T getBean(String name, Class<T> requiredType) {
return applicationContext.getBean(name, requiredType); return applicationContext.getBean(name, requiredType);
} }
/**
* Spring Bean
*
* @param name Bean
* @return true false
*/
public static boolean containsBean(String name) { public static boolean containsBean(String name) {
return applicationContext.containsBean(name); return applicationContext.containsBean(name);
} }
/**
* Bean
*
* @param name Bean
* @return true false
*/
public static boolean isSingleton(String name) { public static boolean isSingleton(String name) {
return applicationContext.isSingleton(name); return applicationContext.isSingleton(name);
} }
/**
* Bean
*
* @param name Bean
* @return Bean
*/
public static Class<? extends Object> getType(String name) { public static Class<? extends Object> getType(String name) {
return applicationContext.getType(name); return applicationContext.getType(name);
} }
} }
Loading…
Cancel
Save