springboot整合dubbo
UserService接口
public interface UserService {
/**
* 获取用户信息
*
* @return
*/
List<UserInfo> getUserInfoList();
}
UserInfo类
@NoArgsConstructor
@Getter
@Setter
@ToString
public class UserInfo implements Serializable {
private int userId;
private String username;
private int age;
private Date birthday;
}
Provider提供者
application.properties
dubbo.application.id=provider
dubbo.application.name=provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.provider.threads=10
dubbo.provider.threadpool=fixed
dubbo.provider.loadbalance=roundrobin
dubbo.server=true
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
UserServiceImpl.java
@Service @Component public class UserServiceImpl implements UserService { @Override public List<UserInfo> getUserInfos() { List<UserInfo> userInfos = new ArrayList<>(); UserInfo userInfo = new UserInfo(); userInfo.setUserId(1); userInfo.setAge(12); userInfo.setBirthday(new Date()); userInfo.setUsername("JackLi"); userInfos.add(userInfo); UserInfo userInfo1=new UserInfo(); userInfo1.setUserId(2); userInfo1.setAge(14); userInfo1.setUsername("Lucy"); userInfo1.setBirthday(new Date()); userInfos.add(userInfo1); return userInfos; } }
Consumer消费者
application.properties
## 避免和 server 工程端口冲突
server.port=8081
## Dubbo 服务消费者配置
dubbo.application.name=consumer
dubbo.registry.address = zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
UserController
@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private RemoteService remoteService;
@GetMapping("list")
public List<UserInfo> getUserInfo() {
return remoteService.getUserInfo();
}
}
UserRemoteService
@Service
public class RemoteService {
@Reference
UserService userService;
public List<UserInfo> getUserInfo() {
return userService.getUserInfoList();
}
}
立志如山 静心求实
浙公网安备 33010602011771号