RPC是基于Spring boot的自动装配所实现的,使用的时候主要是基于几个注解 和简单配置,也达到了开箱即用的效果。
<dependency>
<groupId>org.wb.rpcgroupId>
<artifactId>wbrpc-spring-boot-autoconfigureartifactId>
<version>1.0-SNAPSHOTversion>
dependency>
wb:
# 是否启用
enabled: true
# 要扫描的包
packageScan: com.wb.test
# 服务名称,消费端消费通过注解指定的服务名
name: consumer
# 注册中心使用什么
register-type: redis
# redis的配置信息
redis-register:
host: 114.215.197.96
port: 6379
password: xuwenbin123.
主要注解:
@WbClient("provider")
public interface TestService {
@WbRequestMapping(value = "/test", method = WbRequestMethod.GET)
void test(@WbRequestParam(value = "asd") String str, String str2);
@WbRequestMapping(value = "/testbody", method = WbRequestMethod.POST)
TestUser testpost(@WbRequestBody TestUser testUser);
}
@RestController
public class TestController {
// 注入后直接调用即可
@Autowired
private TestService testService;
@GetMapping("test")
public String test(String str, String str2){
testService.test(str, str2);
return null;
}
@PostMapping("testpost")
public TestUser testPost(){
TestUser testUser = new TestUser();
testUser.setName("asd");
return testService.testpost(testUser);
}
}
@RestController
public class TestController {
@GetMapping("test")
public void hello(String asd, String str2) {
System.out.println(asd);
}
@PostMapping("testbody")
public TestUser hello(@RequestBody TestUser user) {
return user;
}
}
如果只是单纯的服务提供者 不做消费端,到这里配置完毕,没有一点代码侵入性。
访问:http://127.0.0.1:8882/test?str=asd111
提供者输出:
https://gitee.com/xu–wenbin/wb-spring-boot-project