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();
}
}

 

posted on 2018-12-15 21:21  溪水静幽  阅读(128)  评论(0)    收藏  举报