springboot实现手动注入bean

 手动获取公用类

/**
 * @author :
 * @date :Created in 2020-06-05 09:54
 * @description:springboot手动方法获取 bean
 */
@Component
public class StaticMethodGetBean<T> implements ApplicationContextAware {

    private static ApplicationContext applicationContext;
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        StaticMethodGetBean.applicationContext = applicationContext;

    }

    public static <T> T  getBean(Class<T> clazz) {
        return applicationContext != null?applicationContext.getBean(clazz):null;
    }

}

获取方法 

    public static String getAIUser(Long userId) {
        String userName = "";
        userName = userMap.get(String.valueOf(userId));
        if(StringUtil.isEmpty(userName)){
            logger.info("用户缓存没有,系统重新获取");
            IUserDubboService userDubboService = StaticMethodGetBean.getBean(IUserDubboService.class);
            User user = userDubboService.getUserById(userId);
            if(null != user){
                userName = user.getName();
                userMap.put(String.valueOf(userId),user.getName());
            }
        }
        return userName;
    }

 


版权声明:本文为LISTD_ONE原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。