类 SpringUtils

  • 所有已实现的接口:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.context.ApplicationContextAware

    @Component
    public class SpringUtils
    extends Object
    implements org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.context.ApplicationContextAware
    应用上下文工具类,用于在普通类中获取Spring IOC容器中的bean对象,包括:
         1、Spring IOC容器中的bean对象获取
         2、注册和注销Bean
     
    从以下版本开始:
    2020年4月6日
    作者:
    ylyue
    • 构造器详细资料

      • SpringUtils

        public SpringUtils()
    • 方法详细资料

      • postProcessBeanFactory

        public void postProcessBeanFactory​(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
                                    throws org.springframework.beans.BeansException
        指定者:
        postProcessBeanFactory 在接口中 org.springframework.beans.factory.config.BeanFactoryPostProcessor
        抛出:
        org.springframework.beans.BeansException
      • setApplicationContext

        public void setApplicationContext​(org.springframework.context.ApplicationContext applicationContext)
        指定者:
        setApplicationContext 在接口中 org.springframework.context.ApplicationContextAware
      • getBeanFactory

        public static org.springframework.beans.factory.ListableBeanFactory getBeanFactory()
        获取ListableBeanFactory,可能为ConfigurableListableBeanFactoryApplicationContextAware
        返回:
        ListableBeanFactory
      • getConfigurableBeanFactory

        public static org.springframework.beans.factory.config.ConfigurableListableBeanFactory getConfigurableBeanFactory()
                                                                                                                   throws cn.hutool.core.exceptions.UtilException
        获取ConfigurableListableBeanFactory
        返回:
        ConfigurableListableBeanFactory
        抛出:
        cn.hutool.core.exceptions.UtilException - 当上下文非ConfigurableListableBeanFactory抛出异常
      • getApplicationContext

        public static org.springframework.context.ApplicationContext getApplicationContext()
        获取applicationContext
        返回:
        ApplicationContext
      • getBean

        public static Object getBean​(String name)
        通过name获取 Bean
        参数:
        name - Bean名称
        返回:
        Bean
      • getBean

        public static <T> T getBean​(Class<T> clazz)
        通过class获取Bean
        类型参数:
        T - Bean类型
        参数:
        clazz - Bean类
        返回:
        Bean对象
      • getBean

        public static <T> T getBean​(String name,
                                    Class<T> clazz)
        通过name,以及Clazz返回指定的Bean
        类型参数:
        T - bean类型
        参数:
        name - Bean名称
        clazz - bean类型
        返回:
        Bean对象
      • getProperty

        public static String getProperty​(String key)
        获取配置文件配置项的值
        参数:
        key - 配置项key
        返回:
        属性值
      • getApplicationName

        public static String getApplicationName()
        获取应用程序名称
        返回:
        应用程序名称
      • getActiveProfiles

        public static String[] getActiveProfiles()
        获取当前的环境配置,无配置返回null
        返回:
        当前的环境配置
      • getActiveProfile

        public static String getActiveProfile()
        获取当前的环境配置,当有多个环境配置时,只获取第一个
        返回:
        当前的环境配置
      • registerBean

        public static <T> void registerBean​(String beanName,
                                            T bean)
        动态向Spring注册Bean

        BeanFactory 实现,通过工具开放API

        类型参数:
        T - Bean类型
        参数:
        beanName - 名称
        bean - bean
      • unregisterBean

        public static void unregisterBean​(String beanName)
        注销bean

        将Spring中的bean注销,请谨慎使用

        参数:
        beanName - bean名称
      • publishEvent

        public static void publishEvent​(org.springframework.context.ApplicationEvent event)
        发布事件
        参数:
        event - 待发布的事件,事件必须是ApplicationEvent的子类
      • publishEvent

        public static void publishEvent​(Object event)
        发布事件 Spring 4.2+ 版本事件可以不再是ApplicationEvent的子类
        参数:
        event - 待发布的事件