创建一个microcloud的整体父pom项目,将创建三个子模块: microcloud-api子模块,作为公共的信息导入配置模块; microcloud-provider-dept-8001作为服务提供者,该提供者负责使用Mybatis与数据库的交互;
Microcloud-consumer-80:作为微服务调用的客户端使用 。
- 创建一个新的maven项目:microcloud;
- 修改pom.xml文件,主要追加spring boot及Spring cloud两个开发包的依赖关系;
- microcloud-api 建立一个api的公共模块,该模块的主要功能是提供有公共处理类,本次预计建立一个Dept数据表,里面的字段:
- microcloud-provider-dept-8001
由于在整个微服务里面需要进行负载均衡操作,所以我们本次在使用的时候加入了数据库的名称信息 。
9.创建Dept微服务:所谓微服务的核心本质就是JSON的传输,那么既然现在要求使用Mybatis进行数据库操作,所以应该在项目里面配置Druid的数据库连接池,而后对外进行项目的发布 。
①microcloud-provider-dept-8001:修改pom.xml配置文件,追加相关的依赖程序支持包 。
②microcloud-provider-dept-8001:创建IDeptDAO数据操作接口,这个接口里面将提供有三个数据操作方法 。
③microcloud-provider-dept-8001:修改Application.yml配置文件,追加mybatis和服务的相关配置信息;
④microcloud-provider-dept-8001:定义src/main/resources/mybatis/mybatis.cfg.xml配置文件:
⑤microcloud-provider-dept-8001:修改src/main/resources/mybatis/mapper/cn/mldn/Dept.xml配置文件;
⑥microcloud-provider-dept-8001:建立IDeptService接口,做业务实现:
⑦microcloud-provider-dept-8001:定义接口的运行主类 。
⑧microcloud-provider-dept-8001:进行业务接口测试编写 。
⑨microcloud-provider-dept-8001:建立DeptRest服务类 。
【SpringCloud开发框架入门知识】@Controller
Public class DeptRest{
@ResquestMapping(value=https://www.isolves.com/it/cxkf/kj/2020-09-14/“dept/get”,method=RequestMethod.GET)
Public Dept get(){
Return xx;
}
}
- 修改hosts配置文件,追加一个映射路径 。
追加“127.0.0.1 dept-8001.com”
- 观察Rest服务能否正常提供;
调用list操作;调用add操作 。
10.客户端调用微服务:
- 创建一个Maven的新的模块:microcloud-consumer-80
- microcloud-consumer-80:修改application.yml配置文件:
port:80
- microcloud-consumer-80:创建一个Rest的配置程序类,主要进行RestTemplate类对象创建 。
Public class RestConfig{
@Bean
Public RestTemplate getRestTemplate(){
Return new RestTemplate();
}
}
- microcloud-consumer-80:创建一个控制器,为了简化处理,本次不再进行页面定义,所有服务结果都使用REST返回 。
- 编写启动程序类
- 修改hosts配置文件,追加访问控制路径 。
7、进行代码测试调用
调用数据返回任务:http://client.com/consumer/dept/get?id=1?

文章插图
11.1Rest提供者安全访问:所有Rest服务最终都是暴露在公网,Rest访问,安全性是首要因素 。
11.1配置安全验证如果要想进行安全的验证处理,那么首先一定要先在服务提供方进行处理 。
- 【microcloud-provider-dept-8001】修改pom.xml配置文件,追加SpringSecurity相关依赖包引入;
Using default security password:73df5......
- Rest提供者安全访问配置
Basic:
Enabled:true #启用springSecurity的安全配置项 。
User:
name:mldnjava #认证用户名
password:hello #认证密码
role: #授权角色
随后在项目之中访问Rest服务接口http://client.com/consumer/dept/get?id=1?,此时在访问的时候会要求用户输入用户名与密码,这个时候有一个更简化方法进行内容的输入:http://mldnjava:hello@client.com/consumer/dept/get?id=1?
推荐阅读
- 基于.NET Core的Orchard Core框架出来了
- 用Python开发一个交互式网络和IP地址计算器
- JetPack现在都成了Android开发必备技能嘛?
- springcloud微服务架构开发实战:常见微服务的消费者
- 如何使用VSCode调试JS?
- API统一、干净,新型EagerPy实现多框架无缝衔接
- Docker 安装 Nginx
- 高性能无锁并发框架Disruptor,太强了
- FFmpeg的FFplay框架分析
- Mac 上安装 pyenv 使用多版本python开发项目
