优惠券项目-初始化

90 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 4 天,点击查看活动详情

1.新建项目

image.png

2.删除src目录

image.png

3.配置项目主pom.xml文件

3.1配置项目名称和描述

<!--    1.配置项目名称和描述-->
    <name>imooc-coupon</name>
    <description>SpringCloud Project For Imooc Coupon</description>

3.2配置项目打包模式

<!-- 2.配置项目的打包类型, 即项目的发布形式, 默认为 jar. 对于聚合项目的父模块来说, 必须指定为 pom -->
<packaging>pom</packaging>

3.3配置spring-boot

<!--    3.配置spring-boot-starter-parent-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>

完整配置截图1: image.png

3.4配置自定义属性(配置spring-cloud版本)

<properties>
    <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
</properties>

3.5 配置依赖(配置lombok和测试用例依赖)

<dependencies>
    <!-- lombok 工具通过在代码编译时期动态的将注解替换为具体的代码,
    IDEA 需要添加 lombok 插件 -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

完整配置截图2:
image.png

3.6配置依赖管理

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

3.7配置远程仓库

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

完整配置截图3:

image.png

4.新增子模块coupon_eureka

image.png 点击create创建之后项目结构为:
image.png 主配置文件新增了子模块 image.png

4.1新增包

image.png

4.2配置子模块pom.xml文件

<!--    1.配置项目打包形式-->
    <artifactId>coupon-eureka</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <!-- 2.配置模块名及描述信息 -->
    <name>coupon-eureka</name>
    <description>Spring Cloud Eureka For Coupon</description>

    <!--3.配置服务发现与服务注册 eureka server: 提供服务发现与服务注册 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>
<!--4.配置插件-->
    <!--
        SpringBoot的Maven插件, 能够以Maven的方式为应用提供SpringBoot的支持,可以将
        SpringBoot应用打包为可执行的jar或war文件, 然后以通常的方式运行SpringBoot应用
     -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

4.3EurekaApplication启动类

image.png

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args);
    }
}

4.4resources新增配置applicaoint.yml文件

spring:
  application:
    name: coupon-eureka

server:
  port: 8000

eureka:
  instance:
    hostname: localhost
  client:
    # 标识是否从 Eureka Server 获取注册信息, 默认是 true. 如果这是一个单节点的 Eureka Server
    # 不需要同步其他节点的数据, 设置为 false
    fetch-registry: false
    # 是否将自己注册到 Eureka Server, 默认是 true. 由于当前应用是单节点的 Eureka Server
    # 需要设置为 false
    register-with-eureka: false
    # 设置 Eureka Server 所在的地址, 查询服务和注册服务都需要依赖这个地址
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/