首先需要一个spring静态获取bean的工具类
@Component
public class SpringContextBeanUtil implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext context)
throws BeansException {
SpringContextBeanUtil.context = context;
}
public static <T> T getBean(Class<T> beanClass) {
return context.getBean(beanClass);
}
public static String getMessage(String key) {
return context.getMessage(key, null, Locale.getDefault());
}
}
然后创建一个component 用reference注入dubbo的service
@Component
public class RedisComponent {
@Reference(version = "1.0")
private IRedisService redisService;
public IRedisService getRedisService() {
return redisService;
}
}
最后在非bean对象中调用方法获取service

即可正常使用
本文介绍了一种在Spring框架中集成Dubbo服务的方法。首先,通过创建一个工具类实现ApplicationContextAware接口,使得非bean对象能够静态获取Spring管理的bean。接着,通过@Component注解创建一个组件,并使用@Reference注解注入Dubbo服务。最后,在非bean对象中调用该方法即可正常获取并使用Dubbo服务。

1606

被折叠的 条评论
为什么被折叠?



