springcloud学习01-用intellij idea搭建Eureka服务

0.配置intellij idea工具:https://www.cnblogs.com/wang-liang-blogs/p/12060702.html

1.使用maven构建工具构建主工程项目。

  1.1.file-->new-->project-->选择maven,sdk选择本地配置的jdk

 

   1.2.next-->输入GroupId和ArtifactId

 

   1.3.next-->选择project location-->finish

 

   1.4.等待maven将依赖包下载完成

2.构建eureka模块

  2.1.选中总的springcloud-->右键new-->model-->选择Spring Assistant-->SDK选择本地配置的jdk

 

   2.2.next-->配置GroupId/Artifact Id/Project name/Package name

    GroupId要与主工程一样,是主工程的一个模块。

  2.3.next-->选择Spring Cloud Discovery-->选中Eureka Server

 

   2.4.next-->在启动入口加注解上注解@EnableEurekaServer-->增加resources/application.yml的配置

    在项目启动类上使用@EnableEurekaServer,可以将项目作为SpringCloud中的注册中心

    2.4.1.程序入口文件:

package com.demo.springcloudeureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class SpringcloudEurekaApplication {

    public static void main(String[] args) {

        SpringApplication.run(SpringcloudEurekaApplication.class, args);
    }

}

    2.4.2.resources/application.yml配置文件,如果是application.properties,可以修改成application.yml,也可以不修改

server:
  port: 8762

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

  2.5.右键选择 Run 'SpringcloudEurekaApplication.main()'启动成功。

启动成功后可以看到如下信息,端口以及启动耗时等

  2.6.浏览器访问:localhost:8762,可以看到相关的eureka的相关信息,注意标红的部分是注册到eureka上的服务

3.删除主工程的src以及.iml文件。

4.扩展/尝试

  我这样搭建之后感觉pom文件不是我预想的那种结构,感觉这样生成的的pom.xml有点问题,所以我做如下修改。

将子模块eureka模块的parent/properties/dependencies/dependencyManagement移到主模块springcloud中的pom.xml文件在,并且在主模块的pom文件中加入modules,子模块eureka模块添加parent关联主模块springcloud.

主模块springcloud模块的pom.xml文件

<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.demo</groupId>
    <artifactId>springcloud</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <modules>
        <module>springcloud-eureka</module>
    </modules>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <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>

</project>

子模块eureka模块的pom.xml文件

<?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>

    <parent>
        <groupId>com.demo</groupId>
        <artifactId>springcloud</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>


    <artifactId>springcloud-eureka</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springcloud-eureka</name>
    <description>Demo project for Spring Boot</description>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

这样给我的感觉是不会重复的取下载获取判断重复的架包



posted @ 2019-12-18 17:33  话祥  阅读(1659)  评论(0编辑  收藏  举报