SpringBootバックドア、コンテナ工場を取得

SpringBootバックドア

2020年1月5日(日曜日および曇り)

あなたがオブジェクトの工場管理を取得したい場合は非springboot工場管理の一般的なカテゴリには、我々はもはや問題のSpringBoot公式のこの時点で注入@Autowiredコメントなどを使用することはできません解決策を与えてきた、彼らが提供し「ApplicationContextAware」、インタフェースをこのインタフェースを実装するには、工場管理の全体の内容を取得することができます。

package com.baizhi.cache;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

//web触发器,作用是获得整个工厂内容,方便非工厂管理的普通类。可以拿到工厂管理的对象(全局容器)
@Component
public class WebWare implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        this.applicationContext = applicationContext;
    }

    //通过属性名获取对象的方法
   public static Object getbyName(String name){
       Object bean = applicationContext.getBean(name);
       return bean;
   }

   //通过属性类获取对象的方法
    public static Object getByClass(Class clazz){
        Object bean = applicationContext.getBean(clazz);
        return bean;
    }


}

公開された32元の記事 ウォンの賞賛1 ビュー1180

おすすめ

転載: blog.csdn.net/ASYMUXUE/article/details/103841464