spring 提供了Awear 接口去 让bean 能感受到外界的环境。Awear 接口有很多实现,常用的有

ApplicationContextAware (可以通过实现这个接口去获取ApplicationContext),
BeanNameAware(可以获取Bean自身的一些属性),
BeanFactoryAware(可以获取BeanFactory)
@Component
public class ApplicationContextManager implements ApplicationContextAware{

    private   static  ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        System.out.println("---------------------添加Application--------------------------");
         if(ApplicationContextManager.applicationContext == null){
             ApplicationContextManager.applicationContext = applicationContext;
         }
    }

    public static   ApplicationContext getApplicationContext(){
        return applicationContext;
    }

    /**
     * 通过name 获取Bean
     */
    public static Object getBean(String beanName){
      return   applicationContext.getBean(beanName);
    }

    public static <T> T getBean(String beanName,Class<T> clazz){
        return  applicationContext.getBean(beanName,clazz);
    }

    public static <T> T getBean(Class<T> clazz){
        return  applicationContext.getBean(clazz);
    }
}

相关文章:

  • 2021-12-18
  • 2021-06-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-29
  • 2021-06-12
  • 2022-12-23
  • 2021-12-13
  • 2022-12-23
  • 2021-06-23
  • 2021-06-16
相关资源
相似解决方案