依赖,版本可能不兼容,在测试代码中没崩。
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.10</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.11</version>
</dependency>
服务提供者
application
dubbo.application.name=provider
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper://127.0.0.1:2181
## 用Dubbo协议在20880端口暴露服务
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
dubbo.scan.base-packages=com.wecgwm.provider.service
service
package com.wecgwm.provider.service.impl;
import com.alibaba.dubbo.config.annotation.Service;
import com.wecgwm.provider.service.UserService;
import org.springframework.stereotype.Component;
/**
* 1.引入相关依赖
* 2.在application中配置dubbo
* 2.使用com.alibaba.dubbo.config.annotation.Service注解(已过时)
*/
@Service
@Component
public class UserServiceImpl implements UserService {
@Override
public String getUser() {
return "getUser success....................";
}
}
消费者
application
server.port=8088
dubbo.application.name=consumer
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper://localhost:2181
消费者模块中需要有全限定名相同的接口
package com.wecgwm.provider.service;
public interface UserService {
String getUser();
}
service
package com.wecgwm.consumer.service.impl;
import com.alibaba.dubbo.config.annotation.Reference;
import com.wecgwm.consumer.service.GetService;
import com.wecgwm.provider.service.UserService;
import org.springframework.stereotype.Service;
@Service
public class GetServiceImpl implements GetService {
@Reference
UserService userService;
@Override
public String get() {
return userService.getUser();
}
}
有时间再完善