解决springboot启动时获取实列(无法注入)问题

2019-10-12  本文已影响0人  自由主义者
@SpringBootApplication
public class OpenplatformApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(OpenplatformApplication.class, args);
        SpringBeanUtils.setContext(context);
        DappKindService dappKindService = SpringBeanUtils.getBean(DappKindService.class);
        dappKindService.findValidAllKind();
    }

package com.cesgroup.coin.openplatform.util;

import org.springframework.context.ApplicationContext;

/**
 * createTime: 2019-07-23 17:56
 *
**/

public class SpringBeanUtils {

    private static volatile ApplicationContext context;

    public static void setContext(ApplicationContext applicationContext) {
        SpringBeanUtils.context = applicationContext;
    }

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

    //通过class获取Bean.
    public static <T> T getBean(Class<T> clazz) {
        return context.getBean(clazz);
    }

    //通过name,以及Clazz返回指定的Bean
    public static <T> T getBean(String name, Class<T> clazz) {
        return context.getBean(name, clazz);
    }

}

上一篇下一篇

猜你喜欢

热点阅读