由于eclipse的使用人群比较多,这里我们也使用eclipse开发,为了方便spring boot的开发,需要安装一个插件springsource-tool-suite-3.9.5.RELEASE-e4.8.0-updatesite,这个插件的下载地址为:https://spring.io/tools/sts/all/
需要注意eclipse与插件的版本相匹配。具体安装步骤就不介绍了,与普通eclipse插件安装没什么区别。
服务提供者
打开eclipse,选择新建项目,选择Spring Starter Project,下一步。
写上项目名称,group与artifact ,点击next。
这里选择spring boot版本,选择稳定版即可,然后在availabel中搜索web,并勾,选web是因为我们是一个web项目。
直接finish就好了。
需要注意的是,上面这种创建项目的方式,需要联网,如果没有网络,请参考基于maven创建spring boot项目的相关资料。
创建好后,项目的目录结构如下:
编写controller代码
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("user/{id}")
public User queryUser(@PathVariable("id")Long id) {
return userMapper.findById(id);
}
}
这里使用到mybatis,如果不太清楚spring boot 如何集成mybatis的,可以参考
https://blog.csdn.net/lujiangui/article/details/82768902
服务消费者
服务消费者项目的创建步骤与服务提供者的步骤基本一样。这里就不累赘了。
在服务消费者项目中,我们写一个controller,并在调用服务提供者。
@RestController
public class ItemController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("item/{id}")
public User queryItem(@PathVariable Long id) {
return restTemplate.getForObject("http://localhost:7900/user/"+id, User.class);
}
}
这里使用到RestTemplate对象,这个对象的getForObject()方法,第一个参数是我们要请求的url地址,也就是我们的服务提供者的地址,第二个参数是结果返回的对象class值。
注意:这里想要注入RestTemplate对象,需要先把RestTemplate对象的创建交给spring 容器管理。
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
@Bean注解的作用,不清楚的可以看看https://blog.csdn.net/lujiangui/article/details/82053790,这里说得比较详细。
分别启动服务提供者和服务消费者这两个项目,然后打开浏览器,访问测试:
可以看到,通过访问服务消费者,可以拿到服务提供者的数据,说明我们的服务消费者成功调用了服务提供者的接口,并拿到了数据。