1.创建一个2.1.3版本的springboot服务agg-springcloudalibaba-serverA
2.添加serverA依赖和功能
3.创建一个2.1.3版本的springboot服务agg-springcloudalibaba-serverB
4.agg-springcloudalibaba-serverA加入调用agg-springcloudalibaba-serverB的服务接口的内容
5.整合spring cloud
6.整合spring cloud alibaba
7.安装Nacos环境
遇到问题:JDK需要8的X64版本,或者更高
设置好之后:http://127.0.0.1:8848/nacos/#/login
用户名密码都是nacos
8.项目注册到Nacos
加依赖:
加配置:
启动应用服务后效果:
修改代码:
@GetMapping("/api/testA1")
public List<ServiceInstance> getInstances() {
logger.info("------testA1------");
List<ServiceInstance> instanceList = this.discoveryClient.getInstances("gg-serverB");
return instanceList;
}
9.整合数据库-使用generator插件
STS工具安装插件:
生成结果:
下面谈谈这里面无处不在的坑:
a.generatorConfig.xml中connectionURL内容报错。可以使用config.properties,然后connectionURL="${jdbc.url}"
b.运行generatorConfig.xml,报JDBC 连接失败。
第一:generatorConfig.xml中要加入<classPathEntry location="${location}" />,config.properties中location=C:/Users/asus/.m2/repository/mysql/mysql-connector-java/5.1.26/mysql-connector-java-5.1.26.jar
第二:保证pom.xml加入相关mysql-connector-java依赖
第三:检查mysql-connector-java在classPathEntry location位置下载是否完全。PS:不要使用6.X的版本,会造成Mapping.java只生成insert方法,Mapping.xml只生成insert的XML。PPS:在下载完全,同时5.X的版本也会出现JDBC 连接失败。换一个版本就好了。
第四:jdbc.driverClass问题。mysql-connector-java的5.X版本只能用com.mysql.jdbc.Driver,不能使用com.mysql.cj.jdbc.Driver。
c.生成的Mapping.java有错误,同时还生成了一个报错的伴生类。
generatorConfig.xml中添加红色的属性<context id="context1" targetRuntime="MyBatis3">
d.生成的Mapping.java和Mapping.xml都只有insert相关内容。
第一:mysql-connector-java不要用6.X版本
第二:数据库表格没有设置主键。
10.整合Lombok
下载lombok.jar,然后运行
java -jar lombok.jar
如果没有自动找到IDE,还可以手工选择目录
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>