大家有没有注意到,上一篇中提供者,暴露接口springboot网站开发的方式?混搭。springboot本身接口实现使用了注解springboot网站开发的方式,而Dubbo暴露接口使用的是配置文件的实现方式,即如下:
代码:
importorg.springframework.stereotype.Service;
//注意这里使用的是spring的注解
@Service("userService")
publicclassUserServiceImplimplementsIUserService{
@Override
publicvoidsaveUser(Useruser){
System.out.println("保存用户:"+user.getUsername());
}
}
配置:
<!-- 声明需要暴露的服务接口 -->
<dubbo:serviceinterface="com.itstyle.dubbo.service.IUserService"ref="userService"/>
如果以上使用spring注解,springboot网站开发我们必须开启扫描:
@ComponentScan(basePackages={"com.itstyle.dubbo"})
当然,如果springboot网站开发你不想使用注解,全配置实现:
<bean id="userService"class="com.itstyle.dubbo.service.impl.UserServiceImpl"/>
<!--声明需要暴露的服务接口-->
<dubbo:service interface="com.itstyle.dubbo.service.IUserService"ref="userService"/>
好吧,其实在这个注解走天下的年代,显然配置已经落后了半个世纪,下面是全注解实现:
首先我们要在dubbo.xml配置以下代码:
<!-- 使用注解方式暴露接口 -->
<dubbo:annotationpackage="com.itstyle.dubbo"/>
修改UserServiceImpl.java:
importcom.alibaba.dubbo.config.annotation.Service;
importcom.itstyle.dubbo.domain.User;
importcom.itstyle.dubbo.service.IUserService;
//这里引用阿里巴巴的注解配置
@Service
publicclassUserServiceImplimplementsIUserService{
@Override
publicvoidsaveUser(Useruser){
System.out.println("保存用户:"+user.getUsername());
}
}
这时候,我们再次运行SpringbootDubboApplication类,可以正常运行,并且成功注册到zookeeper。
作者: 小柒
出处: https://blog.52itstyle.com
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。