봄 클라우드 고급 도로 |이 : 서비스 제공 업체 (발견)

(1) 부모 프로젝트를 만듭니다

 

봄 부팅 2.1.7.RELEASE 그룹 위해서는, 이전에 설명한 봄의 클라우드 버전 Greenwich.SR2, 봄 구름 알리바바 버전 2.1.0.RELEASE. 후속이 버전은 그들을 반복하지를 참조하면된다.

 

치어

 

<?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>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.luas.cloud</groupId>
    <artifactId>java-boot-parent-2.1</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>java-boot-parent-2.1</name>
    <description>Spring Cloud Learning, parent project by spring boot 2.1.x</description>

    <properties>
        <java.version>1.8</java.version>
        <hutool.version>4.6.13</hutool.version>
        <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
        <spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
        </dependency>

    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>

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

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

</project>

 

이 제품 엔지니어링 만들기

치어

<?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.luas.cloud</groupId>
        <artifactId>java-boot-parent-2.1</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../../java-boot-parent-2.1</relativePath>
    </parent>

    <groupId>com.luas.cloud</groupId>
    <artifactId>xmall-product</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <name>xmall-product</name>
    <description>Spring Cloud Learning,nacos-client</description>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- nacos cloud -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

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

</project>

 

참고 부모 프로젝트가 상위 프로젝트에 한 단계 특수를 지정하는 것이 좋습니다, relativepath를 특별한주의를 만든 것을, 당신은 제대로 언급하기 위해 부모 프로젝트에 받는다는 PW, 하위 프로젝트를 배포해야합니다.

 

응용 프로그램 구성

server:
  port: 8080

spring:
  application:
    name: xmall-product
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

참고, 등록 nacos 후 xmall-제품 서비스 서비스 이름으로 spring.application.name, 서비스 이름은 체하다 후속 호출 또는 나머지가 호출을 통해 여부,이 이름이 필요합니다 매우 중요합니다.

 

제품 서비스

package com.luas.cloud.controller;

import cn.hutool.core.map.MapUtil;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/sku")
public class SkuController {

    @RequestMapping("/{skuId}")
    public Object get(@PathVariable("skuId") String skuId) {
        return MapUtil.<String, Object>builder()
                .put("skuId", skuId)
                .put("name", "笔记本电脑")
                .put("price", 1199.00)
                .build();
    }

}

 

시작 클래스

 

package com.luas.cloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class XmallProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(XmallProductApplication.class, args);
    }

}

 

@EnableDiscoveryClient 주석 여기에 대해 추가하지 않습니다,하지만 정상적인 서비스는 여전히 nacos에 등록 할 수 있었다. 무엇이 그것을 원인은? 코드의 두 가지가 이해 될 수있다 다음을 참조하십시오 :

 

의 image.png

 

의 image.png

 

의 image.png

 

이 논리 중요한 3은 오픈 구성 파라미터 여부가 자동으로 등록되고 모니터링된다에 의존하지 않는다.

 

서비스 Nacos 목록

 

열기 nacos 콘솔 액세스가 이미 목록에 발견, 등록에 성공!

 

의 image.png

 

 

상세보기 서비스 메타 데이터를 클릭 할 수 있습니다

 

 

액세스

 

방문에 http : // localhost를 : / SKU / 1000000 8080, 다음과 같은 결과를 표시해야합니다 :

 

의 image.png

 

 

근원

 

에 오신 것을 환영합니다 엄지 손가락

근원

GitHub의

https://gitee.com/xbd521/SpringCloudLearning

gitee

 https://github.com/liuminglei/SpringCloudLearning

 

이 문서는 저자와 명백한 소스를 표시하시기 바랍니다 재발행을위한 문서의 [갤럭시] 원래 건축가입니다.

마이크로 채널 검색 [건축가] 갤럭시, 더 흥미로운 컨텐츠를 찾을 수 있습니다.

의 image.png

 

게시 29 개 원래 기사 · 원 찬양 한 · 전망 2265

추천

출처blog.csdn.net/liuminglei1987/article/details/103632478