Idea에서 마이크로서비스 프로젝트 빌드(버전 22), 자세한 튜토리얼

        1. 새 프로젝트 만들기

         2. 생성된 프로젝트의 유형은 SpringBoot입니다.

 

 

         만들기를 선택한 다음 새 프로젝트를 선택합니다.

 

       

        3. 새로 생성된 프로젝트에서 불필요한 것은 모두 삭제하고 pom 파일만 남깁니다.

         pom 파일의 버전 수정

  <version>2.1.6.RELEASE</version>

         필요한 jar 패키지를 가져오고 원래 <dependencies>의 종속성을 덮어씁니다.

  <!--        SpringBoot启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!--     SpringBoot测试启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- Web依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 日志依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </dependency>
        <!-- Lombok工具 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.4</version>
            <scope>provided</scope>
        </dependency>
        <!-- Actuator可以帮助你监控和管理Spring Boot应用 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- 热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency> 

        Java 버전이 8보다 높으면 다음 종속성도 가져와야 합니다.

  <!-- 引入Jaxb开始 -->
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.2.11</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.11</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>2.2.10-b140310.1920</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- 引入Jaxb结束 -->

        마이크로 서비스가 의존하는 구성 요소 종속성 가져오기

    <dependencyManagement>
        <dependencies>
            <!-- Spring Cloud Neflix 公司出品的微服务组件的依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--Spring Cloud Alibaba微服务组件的依赖-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

        4. 엔터티 클래스로 마이크로서비스 만들기

        이 마이크로 서비스 아래의 pom 파일에서 필요한 종속성을 가져옵니다.

<dependencies>
        <!-- mybatis-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.2</version>
        </dependency>
        <!-- pojo持久化使用 -->
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>javax.persistence-api</artifactId>
            <version>2.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

        엔터티 클래스 만들기

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
    private Integer id;
    private String username;
    private String password;
}

         5. 로직을 작성하기 위한 마이크로서비스를 생성합니다. 단계는 위와 동일하며 이름을 leq-server-product로 작성합니다.

               엔터티 클래스 마이크로서비스의 주소를 소개합니다.

    <dependencies>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>leq-server-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

        2세대 마이크로서비스 구성 요소 nacos에 필요한 종속성 가져오기

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

        시작 클래스 만들기

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

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

        리소스에 구성 파일 작성 및 application.properties 파일 생성

server.port=3000
spring.application.name=leq-server-product
spring.datasource.url=jdbc:mysql://localhost:3306/leq_pro?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=0216


spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

        6. leq-server-page라는 비즈니스 액세스용 마이크로서비스를 생성합니다.

                엔터티 클래스를 처음 가져오는 프로젝트의 주소이기도 합니다.

    <dependencies>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>leq-server-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

             그런 다음 다음 종속성을 가져옵니다.

        <!--nacos的客户端依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!-- 引入alibaba-nacos-config依赖,可以从Nacos配置中心获得配置信息 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

        <!-- Sentinel核心环境依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

        페이지의 시작 클래스 만들기

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

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

        구성 파일 쓰기,

        리소스에 application.properties 파일 생성

server.port=3100
spring.application.name=leq-server-page
spring.datasource.url=jdbc:mysql://localhost:3306/leq_pro?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=0216


spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

        마이크로서비스 프로젝트가 여기에 구축되더라도 다음에 테스트할 것입니다.

       nacos를 설치하지 않은 친구는 이 링크를 통해 nacos를 설치할 수 있습니다: Quickly install nacos

         1. 먼저 naco 서비스 등록 센터를 시작하십시오.

http://10.48.185.7:8848/nacos/index.html

         주소를 방문하여 브라우저에서 페이지를 보는 것은 서비스 등록 센터가 시작되었음을 증명합니다.

        페이지와 제품의 두 마이크로 서비스 프로젝트를 시작한 다음 주소를 새로 고치면 우리 프로젝트가 서비스 센터에 등록된 것을 볼 수 있습니다.

추천

출처blog.csdn.net/weixin_68926017/article/details/131788660