dubbo中不用Controller怎么使用@Inject.BY_NAME

发布于 2021-12-01 10:45:21 字数 214 浏览 740 评论 3

@JFinal 你好,想跟你请教个问题:dubbo中不用Controller怎么使用@Inject.BY_NAME,我在server端做了一个定时器,但业务都在service中,api层定了接口,怎么做才能注入这个service呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

狠疯拽 2021-12-03 17:46:55

其实不需要@Inject.BY_NAME注解

IocInterceptor 增加个get方法:

public static ApplicationContext getCtx() {
		return ctx;
	}

业务层使用方法:

public class DubboSupport {
	
	private static BlogService blogService = (BlogService) IocInterceptor.getCtx().getBean("blogService");
	
	public static void del(String id){
		
		blogService.deleteById(id);
	}
}

上面是简单的实现方法 可以自己封装个注解类!

旧城烟雨 2021-12-03 13:27:44

@JFinal 我也遇到这个问题了 这块不是很明白。。麻烦波总耐心解答一下

离去的眼神 2021-12-03 06:11:37

    建议两种方案,一是先做一个 controler,仍然使用 @Inject.BY_NAME 把功能做好,然后使用 HttpKit.get("http://localhost/xxx") 的方式进行访问。

    另一种是使用 jfinal 的业力层 AOP,然后也可以使用 @Inject.BY_NAME,可能要稍微改造一点点,或许直接就可用。原理上与注入到 controller 是一样的,注意要使用 Duang.duang(MyService.class) 先进行增强,具体见 jfinal 手册,在此下载:http://www.jfinal.com/

    

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文