idea工具中搭建DUbbo的实例(超级详细)(下)

简介: 之前一直做spring boot框架,mybatis做持久层,mysql做数据库,搭建环境时,各种问题,不是数据库没连上,就是mapper文件未扫描成功,这次就着搭建dubbo项目,总结一下。

5、在启动类上加注解


(1)@SpringBootApplication 启动类注解


(2)@EnableDubbo  dubbo注解


(3)@MapperScan("com.bdqn.doubbleuserprovider.mapper")该注解指向mapper包,没有或者错误会报:我也是踩了。

//Field ud in com.bdqn.doubbleuserprovider.service.UserServiceImpl
// required a bean of type 'com.bdqn.doubbleuserprovider.mapper.UserDao' that could not be found.

6、在pom文件中,还需要进一步的配置,在build内部加资源配置:

 <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>**/*.html</include>
                    <include>**/*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

否则会报下面错误:

Invalid bound statement (not found):

三、消费者操作

1、由于消费者不需要操作数据库,所有只需要引入dubbo,web和公共组件即可。与provider的依赖一致。

2、配置文件application.properties中,这次扫描service中的实现类,因为在其中使用@Reference引用服务。

server.port=8089
dubbo.protocol.port = 20880
dubbo.application.name=dubbo-consumer
dubbo.scan.base-packages=com.bdqn.mycustomer.service.impl
dubbo.registry.address=zookeeper://127.0.0.1:2181

3、在service层中,创建customer接口与common中的接口对应。

public interface UserConsumerService {
    public String getUserNameByUid(int uid);
}

4、实现service接口,在service的impl中创建。

(1)service注解来自spring框架

(2)@Reference来自dubbo,引用服务来自公共组件common。

@Service
public class UserConsumerServiceImpl implements UserConsumerService {
    @Reference
    UserService us;
    @Override
    public String getUserNameByUid(int uid) {
        return us.getUserNameByUid(uid);
    }
}

5、controller层,请求调用

(1)返回json格式的内容

@RestController
public class UserController {
    @Autowired
    UserConsumerService service;
    @RequestMapping(value = "getuser/{uid}",method = RequestMethod.GET)
    public String getUserNameByUid(@PathVariable("uid") String uid){
        return service.getUserNameByUid(Integer.valueOf(uid));
    }
}

(2)如果要返回html视图,需要在provider项目中加thymeleaf依赖。因为它是内容提供者。

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

(3)同时在内容提供者的html文件中加声明。

<html lang="en" xmlns:th="http://www.thymeleaf.org">

四、结果展示

打开浏览器,访问地址就得到了结果。

image.png

目录
相关文章
|
5月前
|
Arthas Dubbo Java
Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Alibaba Java诊断工具Arthas查看Dubbo动态代理类
55 0
|
20天前
|
前端开发 JavaScript 数据安全/隐私保护
idea代码review工具Code Review Helper使用介绍
CodeReview IDEA 插件是一款用于代码审查的工具,旨在解决在GitLab中查看整体业务逻辑的不便。该插件提供快速添加注释、行号旁的评审意见标记、双击跳转到代码、意见删除和修改、内容导出为Excel以及导入等功能。特别地,它支持离线和在线模式,离线模式下,审核者和开发者通过Excel文件交换评审意见;在线模式则通过服务端实现评审内容的上传和下载,简化文件传输。此外,该插件允许定制评审字段,并能与团队协作工具集成。通过这些特性,CodeReview IDEA 提高了代码审查的效率和便捷性。
70 2
|
1月前
|
JavaScript Java 关系型数据库
实例!使用Idea创建SSM框架的Maven项目
实例!使用Idea创建SSM框架的Maven项目
38 0
|
2月前
|
前端开发 Java 程序员
Eolink神技之四、IDEA工具插件Eolink ApiKit
Eolink神技之四、IDEA工具插件Eolink ApiKit
59 0
|
4月前
|
Java
IDEA安装class文件分析工具(binEd 和 JClassLib)
IDEA安装class文件分析工具(binEd 和 JClassLib)
61 0
|
23天前
|
存储 网络安全 开发工具
Git的GUI图形化工具&ssh协议&IDEA集成Git
Git的GUI图形化工具&ssh协议&IDEA集成Git
113 0
|
6月前
|
IDE Java 开发工具
IDE工具之IDEA中Module的创建、删除、导入
IDE工具之IDEA中Module的创建、删除、导入
191 0
|
8月前
|
XML 缓存 负载均衡
dubbo详解及demo实例
dubbo详解及demo实例
187 0
|
9月前
【IDEA】同一个应用运行多个测试实例(以不同端口)
【IDEA】同一个应用运行多个测试实例(以不同端口)
108 0
|
9月前
|
Java 测试技术 Maven
在IDEA工具中常见的一些Maven操作<第六课>(二)
在IDEA工具中常见的一些Maven操作<第六课>(二)
132 0

热门文章

最新文章