上一章讲了自动化云测平台的一些环境的准备
如果还未完成云服务器的环境搭建和本地环境的搭建,请点击左侧 -> 传送门
那么正式开始这一章的内容
聚合工程搭建
创建项目
我们先给项目命个名:xxx-meter,构建系统,我们选择Maven,JDK版本,选择17+即可
构建聚合工程
由于我们是一个聚合工程,所以需要把这个项目的src给删除了
之后我们就要创建项目的子模块了
我们需要创建以下子模块
<modules><module>xxx-common</module><module>xxx-account</module><module>xxx-engine</module><module>xxx-data</module><module>xxx-gateway</module></modules>
工程依赖导入
-
项目依赖配置添加
<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.boot.version>3.0.2</spring.boot.version><spring-cloud.version>2022.0.0</spring-cloud.version><spring-cloud-alibaba.version>2022.0.0.0-RC2</spring-cloud-alibaba.version><jmeter.version>5.5</jmeter.version><satoken.version>1.37.0</satoken.version><rest-assured.version>5.3.2</rest-assured.version><selenium.version>4.10.0</selenium.version><guava.version>32.1.3-jre</guava.version><springdoc.version>2.2.0</springdoc.version><minio.version>8.3.7</minio.version><mybatisplus.version>3.5.3.1</mybatisplus.version><fastjson.version>2.0.42</fastjson.version><hutool.version>5.8.0</hutool.version><mysql.version>8.0.27</mysql.version><lombok.version>1.18.30</lombok.version><common-io.version>2.8.0</common-io.version><common-pool.version>2.11.1</common-pool.version></properties>
-
聚合工程依赖配置
<!--锁定版本--><dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--引入redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>${spring.boot.version}</version></dependency><!-- Spring整合参数验证 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId><version>${spring.boot.version}</version></dependency><!-- kafka --><dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>${spring.boot.version}</version></dependency><!--mybatis plus和springboot整合--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatisplus.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${fastjson.version}</version></dependency><!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>${hutool.version}</version></dependency><!--数据库连接--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${common-io.version}</version></dependency><!--jmeter相关包--><dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_http</artifactId><version>${jmeter.version}</version><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_functions</artifactId><version>${jmeter.version}</version></dependency><dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_jdbc</artifactId><version>${jmeter.version}</version></dependency><dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_tcp</artifactId><version>${jmeter.version}</version></dependency><dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_java</artifactId><version>${jmeter.version}</version><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId></exclusion></exclusions></dependency><!-- Selenium --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>${selenium.version}</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>${guava.version}</version></dependency><!-- Sa-token --><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-boot3-starter</artifactId><version>${satoken.version}</version></dependency><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-reactor-spring-boot3-starter</artifactId><version>${satoken.version}</version></dependency><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-redis-jackson</artifactId><version>${satoken.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>${common-pool.version}</version></dependency><!--RestAssured 接口请求 --><dependency><groupId>io.rest-assured</groupId><artifactId>rest-assured</artifactId><exclusions><exclusion><groupId>org.apache.groovy</groupId><artifactId>groovy</artifactId></exclusion><exclusion><groupId>org.apache.groovy</groupId><artifactId>groovy-xml</artifactId></exclusion></exclusions><version>${rest-assured.version}</version></dependency><dependency><groupId>io.rest-assured</groupId><artifactId>rest-assured-all</artifactId><exclusions><exclusion><groupId>org.apache.groovy</groupId><artifactId>groovy</artifactId></exclusion><exclusion><groupId>org.apache.groovy</groupId><artifactId>groovy-xml</artifactId></exclusion></exclusions><version>${rest-assured.version}</version></dependency><dependency><groupId>io.rest-assured</groupId><artifactId>spring-web-test-client</artifactId><version>${rest-assured.version}</version></dependency><!-- swagger --><dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>${springdoc.version}</version></dependency><!-- minio --><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>${minio.version}</version></dependency></dependencies></dependencyManagement>
-
xxx-common项目增加依赖
<dependencies><!-- 代码自动生成依赖 begin --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.3.1</version></dependency><!-- velocity --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.0</version></dependency><!-- 代码自动生成依赖 end--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency><!--mybatis plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><exclusions><exclusion><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></exclusion></exclusions></dependency><!--Feign远程调用--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--数据库连接--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--引入Redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId></dependency><dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId></dependency><dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency></dependencies>
-
xxx-engine项目增加配置文件application.properties
server.port=8082
spring.application.name=engine-service
spring.cloud.nacos.discovery.server-addr=YOUR_IP:8848spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=YOUR_PASSWORD
spring.datasource.url=jdbc:mysql://YOUR_IP:3306/test_engine?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghaimybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImplspring.data.redis.host=YOUR_IP
spring.data.redis.password=YOUR_PASSWORD
spring.data.redis.port=6379