一、创建主工程
1. 选择file-new-project,选择Spring Initializr,直接next
2. 填写GroupId组名,ArtifactId项目名,next
3. 选择依赖项,一般不选,next
4. finish
5. 打开pom.xml
(1) 添加或修改<packaging>的方法,将其改为pom
(2) 添加SpringCloud依赖
修改后的文件内容如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.linhw.example</groupId> <artifactId>mycloud</artifactId> <packaging>pom</packaging> <version>0.0.1-SNAPSHOT</version> <modules> <module>eureka</module> </modules> <!-- spring-boot-starter-parent这是一个依赖管理器的pom文件。它的作用就是管理boot需要的所有依赖, 从而统一各种jar的版本号,避免了版本不一致而出现的问题。所以,引入其他的依赖就可以省略版本号。 当然也可以加上指定的版本号,从而取代默认的。--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <!-- 2.2.5.RELEASE 不知道为什么,莫名的出现 该异常: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat 所以改为 2.1.8.RELEASE--> <version>2.1.8.RELEASE</version> <relativePath/> </parent> <properties> <java.version>1.8</java.version> <!-- SpringCloud version --> <cloud.version>Finchley.RELEASE</cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- dependencyManagement 与 dependencies 的区别 1. 相对于dependencyManagement,所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。 2. dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承) 3. dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。 如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项, 并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom; 另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。 --> <!-- SpringCloud 配置 Spring-cloud-dependencies也是一个依赖管理器的pom文件,与spring-boot-starter-parent的作用一样, 不同的是spring-cloud-dependencies是对cloud的依赖管理。 如:spring-cloud-starter-config、spring-cloud-starter-netflix-eureka-server --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
二、创建子项目
1. 创建子项目,项目右击-new-module-Maven-->next
2. 填写项目名称,next
3. finish
4. 针对项目的要求添加响应的依赖,以eureka为例
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>mycloud</artifactId> <groupId>com.linhw.example</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>eureka</artifactId> <dependencies> <!-- web 启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- eureka server端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> </project>
5. 添加启动类
创建一个顶级包路径,在该路径下,只有一个类,那就是启动类。其他代码
@SpringBootApplication public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } }
6. 添加配置文件
在src/resource下创建application.properties或application.yml,至于可以配置哪些,后面再讲。