SpringBootスレッドは@Autowiredで豆を注入することはできません

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/bj_chengrong/article/details/88828462
パッケージcom.wis.mes.context。

輸入org.springframework.beans.BeansException。
輸入org.springframework.context.ApplicationContext; 
輸入org.springframework.context.ApplicationContextAware。
輸入org.springframework.stereotype.Component。

/ ** 
 * @Authorチェイニー
 * @Date 2019年3月26日
 * @Version 1.0は、
 チェイニー副大統領:* @Lastによって変更
 2019年3月26日:時間変更* @Last 
 * @description:豆对象的工具类(ApplicationContextProviderサービス)
 * @関数:针对多线程无法使用Autowired注入豆设计
 * @Type実装するクラス
 *著作権(C)2019 WISソフトウェア株式会社* 
 * / 
@Component
パブリッククラスApplicationContextProviderはApplicationContextAware {実装
    プライベート静的のApplicationContextのApplicationContextを。

    @Override 
    公共ボイドsetApplicationContext(ApplicationContextのApplicationContextの)はBeansExceptionをスロー{ 
        this.applicationContext =のApplicationContext。
    } 

    / ** 
     *获取のApplicationContext 
     * 
     * @return 
     * / 
    パブリック静的ApplicationContextのgetApplicationContext(){ 
        ApplicationContextのを返します。
    } 

    / ** 
     *通过名前获取ビーン。
     * 
     * @param名
     * @return 
     * / 
    パブリック静的オブジェクトgetBean(文字列名){ 
        getApplicationContext()getBean(名前)を返します。
    }

    / ** 
     *通过クラス获取ビーン
     * 
     * @paramのclazz 
     * @param <T> 
     * @return 
     * / 
    パブリック静的<T> T getBean(クラス<T> clazz){ 
        (getApplicationContextを返す)getBean(clazz)。
    } 

    / ** 
     *通过名、以及Clazz返回指定的ビーン
     * 
     * @param名
     * @param clazz 
     * @param <T> 
     * @return 
     * / 
    パブリック静的<T> T getBean(文字列名、クラス<T> clazz ){ 
        。)(getApplicationContextを返すgetBean(名前、clazz)。
    } 
}

 

-------------------------------------------------- ------使用方法:

DataCoreService dataCoreService = ApplicationContextProvider.getBean(DataCoreService.class)。

 

おすすめ

転載: blog.csdn.net/bj_chengrong/article/details/88828462