1、相关依赖版本
依赖 | 版本 |
---|---|
Springboot | 2.5.x |
dubbo | 3.X |
2、创建Springboot基础工程
创建一个基础演示工程
选择Springboot的快速构建
maven的基本元素,可以按照自己的习惯进行填写
依赖包引入
由于我们采用的是bom的形式,父工程暂时不需要引入任何依赖
工程存放的物理位置
备课和讲课的电脑可能不一样,所以讲课的时候可能物理位置不是这个,哈哈!~
删除掉与课程无关的文件
3、修改配置文件
原始配置文件如下:
代码语言:txt复制<?xml version="1.0" encoding="UTF-8"?>
代码语言:txt复制<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
代码语言:txt复制 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
代码语言:txt复制 <modelVersion>4.0.0</modelVersion>
代码语言:txt复制 <parent>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter-parent</artifactId>
代码语言:txt复制 <version>2.5.0</version>
代码语言:txt复制 <relativePath/> <!-- lookup parent from repository -->
代码语言:txt复制 </parent>
代码语言:txt复制 <groupId>com.jiangzh.course</groupId>
代码语言:txt复制 <artifactId>dubbo</artifactId>
代码语言:txt复制 <version>0.0.1-SNAPSHOT</version>
代码语言:txt复制 <name>dubbo_3_study</name>
代码语言:txt复制 <description>dubbo_3学习</description>
代码语言:txt复制 <properties>
代码语言:txt复制 <java.version>1.8</java.version>
代码语言:txt复制 </properties>
代码语言:txt复制 <dependencies>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter</artifactId>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter-test</artifactId>
代码语言:txt复制 <scope>test</scope>
代码语言:txt复制 </dependency>
代码语言:txt复制 </dependencies>
代码语言:txt复制 <build>
代码语言:txt复制 <plugins>
代码语言:txt复制 <plugin>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-maven-plugin</artifactId>
代码语言:txt复制 </plugin>
代码语言:txt复制 </plugins>
代码语言:txt复制 </build>
代码语言:txt复制</project>
修改以后的配置文件:【修改的内容都使用注释进行了概括,直接寻找有注释的位置即可】
代码语言:txt复制<?xml version="1.0" encoding="UTF-8"?>
代码语言:txt复制<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
代码语言:txt复制 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
代码语言:txt复制 <modelVersion>4.0.0</modelVersion>
代码语言:txt复制 <parent>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter-parent</artifactId>
代码语言:txt复制 <version>2.5.0</version>
代码语言:txt复制 <relativePath/> <!-- lookup parent from repository -->
代码语言:txt复制 </parent>
代码语言:txt复制 <groupId>com.jiangzh.course</groupId>
代码语言:txt复制 <!-- 修改个逼格更高的artifactId -->
代码语言:txt复制 <artifactId>dubbo-parent</artifactId>
代码语言:txt复制 <version>0.0.1-SNAPSHOT</version>
代码语言:txt复制 <!-- 增加packaging类型 -->
代码语言:txt复制 <packaging>pom</packaging>
代码语言:txt复制 <name>dubbo_3_study</name>
代码语言:txt复制 <description>dubbo_3学习</description>
代码语言:txt复制 <properties>
代码语言:txt复制 <java.version>1.8</java.version>
代码语言:txt复制 </properties>
代码语言:txt复制 <!-- 父工程不进行依赖包引入,会对子工程产生影响 -->
代码语言:txt复制 <!--
代码语言:txt复制 <dependencies>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter</artifactId>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter-test</artifactId>
代码语言:txt复制 <scope>test</scope>
代码语言:txt复制 </dependency>
代码语言:txt复制 </dependencies>
代码语言:txt复制 -->
代码语言:txt复制 <!-- 父工程做依赖包的管理 -->
代码语言:txt复制 <dependencyManagement>
代码语言:txt复制 <dependencies>
代码语言:txt复制 </dependencies>
代码语言:txt复制 </dependencyManagement>
代码语言:txt复制 <!-- 移除springboot的打包管理,后续在子工程中进行单独处理 -->
代码语言:txt复制 <!--
代码语言:txt复制 <build>
代码语言:txt复制 <plugins>
代码语言:txt复制 <plugin>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-maven-plugin</artifactId>
代码语言:txt复制 </plugin>
代码语言:txt复制 </plugins>
代码语言:txt复制 </build>
代码语言:txt复制 -->
代码语言:txt复制</project>
4、增加dubbo 3的依赖包管理
1、在pom.xml 中的properties中增加dubbo的版本号配置
代码语言:txt复制<properties>
代码语言:txt复制 <java.version>1.8</java.version>
代码语言:txt复制 <!-- 增加dubbo版本号控制 -->
代码语言:txt复制 <dubbo.version>3.0.0.preview</dubbo.version>
代码语言:txt复制</properties>
2、在pom.xml中,增加dependencyManagement相关的依赖管理
代码语言:txt复制 <!-- 父工程做依赖包的管理 -->
代码语言:txt复制 <dependencyManagement>
代码语言:txt复制 <dependencies>
代码语言:txt复制 <!-- 增加dubbo依赖包管理 -->
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.apache.dubbo</groupId>
代码语言:txt复制 <artifactId>dubbo</artifactId>
代码语言:txt复制 <version>${dubbo.version}</version>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.apache.dubbo</groupId>
代码语言:txt复制 <artifactId>dubbo-dependencies-zookeeper</artifactId>
代码语言:txt复制 <version>${dubbo.version}</version>
代码语言:txt复制 <type>pom</type>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.apache.zookeeper</groupId>
代码语言:txt复制 <artifactId>zookeeper</artifactId>
代码语言:txt复制 <version>3.7.0</version>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.apache.curator</groupId>
代码语言:txt复制 <artifactId>curator-framework</artifactId>
代码语言:txt复制 <version>5.1.0</version>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.apache.curator</groupId>
代码语言:txt复制 <artifactId>curator-recipes</artifactId>
代码语言:txt复制 <version>5.1.0</version>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>io.netty</groupId>
代码语言:txt复制 <artifactId>netty-all</artifactId>
代码语言:txt复制 <version>4.1.65.Final</version>
代码语言:txt复制 </dependency>
代码语言:txt复制 </dependencies>
代码语言:txt复制 </dependencyManagement>
5、建立子工程示例
建立子模块
重复建立父工程时的步骤
选择Springboot快速启动
设置Maven坐标
依旧什么也不选,后期我们自己加依赖包
选择存放位置
删除不需要的内容
修改配置文件格式
6、修改父工程和子工程的POM配置文件
6.1 修改子工程的POM配置文件
配置文件位置:
子工程的POM配置文件
修改之前:
代码语言:txt复制<?xml version="1.0" encoding="UTF-8"?>
代码语言:txt复制<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
代码语言:txt复制 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
代码语言:txt复制 <modelVersion>4.0.0</modelVersion>
代码语言:txt复制 <parent>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter-parent</artifactId>
代码语言:txt复制 <version>2.5.0</version>
代码语言:txt复制 <relativePath/> <!-- lookup parent from repository -->
代码语言:txt复制 </parent>
代码语言:txt复制 <groupId>com.jiangzh.course</groupId>
代码语言:txt复制 <artifactId>dubbo-demo</artifactId>
代码语言:txt复制 <version>0.0.1-SNAPSHOT</version>
代码语言:txt复制 <name>dubbo-demo</name>
代码语言:txt复制 <description>演示子工程创建</description>
代码语言:txt复制 <properties>
代码语言:txt复制 <java.version>1.8</java.version>
代码语言:txt复制 </properties>
代码语言:txt复制 <dependencies>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter</artifactId>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter-test</artifactId>
代码语言:txt复制 <scope>test</scope>
代码语言:txt复制 </dependency>
代码语言:txt复制 </dependencies>
代码语言:txt复制 <build>
代码语言:txt复制 <plugins>
代码语言:txt复制 <plugin>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-maven-plugin</artifactId>
代码语言:txt复制 </plugin>
代码语言:txt复制 </plugins>
代码语言:txt复制 </build>
代码语言:txt复制</project>
修改之后:【修改的内容都使用注释进行了概括,直接寻找有注释的位置即可】
代码语言:txt复制<?xml version="1.0" encoding="UTF-8"?>
代码语言:txt复制<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
代码语言:txt复制 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
代码语言:txt复制 <modelVersion>4.0.0</modelVersion>
代码语言:txt复制 <parent>
代码语言:txt复制 <!-- 将Springboot的父工程依赖修改为自己的父工程, 这样可以继承父工程中的Springboot依赖 -->
代码语言:txt复制 <groupId>com.jiangzh.course</groupId>
代码语言:txt复制 <artifactId>dubbo-parent</artifactId>
代码语言:txt复制 <version>0.0.1-SNAPSHOT</version>
代码语言:txt复制 <relativePath>../pom.xml</relativePath>
代码语言:txt复制 </parent>
代码语言:txt复制 <groupId>com.jiangzh.course</groupId>
代码语言:txt复制 <artifactId>dubbo-demo</artifactId>
代码语言:txt复制 <version>0.0.1-SNAPSHOT</version>
代码语言:txt复制 <name>dubbo-demo</name>
代码语言:txt复制 <description>演示子工程创建</description>
代码语言:txt复制 <properties>
代码语言:txt复制 <java.version>1.8</java.version>
代码语言:txt复制 </properties>
代码语言:txt复制 <dependencies>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter</artifactId>
代码语言:txt复制 </dependency>
代码语言:txt复制 <dependency>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-starter-test</artifactId>
代码语言:txt复制 <scope>test</scope>
代码语言:txt复制 </dependency>
代码语言:txt复制 </dependencies>
代码语言:txt复制 <build>
代码语言:txt复制 <plugins>
代码语言:txt复制 <plugin>
代码语言:txt复制 <groupId>org.springframework.boot</groupId>
代码语言:txt复制 <artifactId>spring-boot-maven-plugin</artifactId>
代码语言:txt复制 </plugin>
代码语言:txt复制 </plugins>
代码语言:txt复制 </build>
代码语言:txt复制</project>
6.2 修改父工程的POM配置文件
增加module管理
7、添加日志文件和默认端口号
加入基础配置
代码语言:txt复制server:
代码语言:txt复制 port: 8080
代码语言:txt复制logging:
代码语言:txt复制 config: classpath:logback.xml
7.1 增加日志配置
增加配置文件
配置文件内容:
代码语言:txt复制<configuration>
代码语言:txt复制 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
代码语言:txt复制 <encoder>
代码语言:txt复制 <pattern>%highlight(%-5level) (%file:%line)- %m%n</pattern>
代码语言:txt复制 <charset>UTF-8</charset>
代码语言:txt复制 </encoder>
代码语言:txt复制 </appender>
代码语言:txt复制 <root level="info">
代码语言:txt复制 <appender-ref ref="STDOUT" />
代码语言:txt复制 </root>
代码语言:txt复制</configuration>