zoukankan      html  css  js  c++  java
  • 使用IDEA一步步搭建SpringCloud项目

    一、创建主工程

    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,至于可以配置哪些,后面再讲。

  • 相关阅读:
    python 实现redis订阅发布功能
    python装饰器实现对异常代码出现进行监控
    回首2017 展望2018
    结合jira搭建自动化测试平台
    安装YApi 接口管理平台
    Django 连接mysql数据库中文乱码
    在django admin中添加自定义视图
    django 模型models
    用户行为分析数据库设计
    vCenter Server 6 Standard
  • 原文地址:https://www.cnblogs.com/myitnews/p/12388385.html
Copyright © 2011-2022 走看看