在idea中搭建微服务项目(22版),详细教程

文章描述了如何创建并配置一个基于SpringBoot的微服务项目,包括删除不必要的项目内容,修改pom文件,导入所需依赖如SpringCloud、Mybatis、Nacos、Sentinel和Feign。还涉及到了数据库连接配置,以及创建实体类和启动类,最后提到了Nacos服务注册中心的启动和微服务的注册。
摘要由CSDN通过智能技术生成

        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>

        导入第二代微服务组件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);
    }
}

        编写配置文件,在resources创建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>

        创建page的启动类

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);
    }
}

        编写配置文件,

        在resources创建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 : 快速安装nacos

         1.先启动naco服务注册中心

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

         访问该地址在浏览器可以看到该页面就证明服务注册中心启动了

        启动page和product两个微服务项目,然后刷新该地址,就可以看到我们的项目注册到服务中心了

  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 搭建Spring Cloud微服务的步骤如下: 1. 首先需要安装Java开发环境和Maven构建工具。 2. 创建一个Spring Boot项目,可以使用Spring Initializr快速创建。 3. 在pom.xml文件添加Spring Cloud相关的依赖,如spring-cloud-starter-netflix-eureka-server、spring-cloud-starter-config等。 4. 配置Eureka注册心,可以在application.yml文件进行配置。 5. 创建微服务模块,可以使用Spring Boot的子模块功能,将不同的微服务放在不同的子模块。 6. 在微服务模块添加相关的依赖,如spring-cloud-starter-netflix-eureka-client、spring-cloud-starter-feign等。 7. 配置微服务的注册和发现,可以在application.yml文件进行配置。 8. 编写微服务的业务逻辑代码。 9. 启动Eureka注册心和微服务,可以使用命令行或者IDE工具启动。 10. 测试微服务的调用和注册情况,可以使用Postman等工具进行测试。 以上就是搭建Spring Cloud微服务的基本步骤,需要注意的是,不同的微服务框架可能有不同的配置和依赖,需要根据具体情况进行调整。 ### 回答2: Idea是一款非常好用的Java开发工具,而Spring Cloud作为一款非常流行的微服务框架,也成为了很多Java开发人员关注和学习的重点。在这里,我将介绍在Idea上如何搭建Spring Cloud微服务的步骤。 1、新建Project 首先,我们需要在Idea新建一个Spring Initializr项目。在弹出的页面,选择以下内容:Project: Maven、Language: Java、Spring Boot: 选择你喜欢的本、Group:填写自己的包名、Artifact:填写项目名称、包名和项目名称之间使用‘-’连接。创建完成后你会发现我们系统自带了启动类,这里的启动类统一都叫做CoreApplication. 2、引入依赖 在项目的pom.xml文件引入Spring Cloud相关的依赖,这里需要注意本的兼容性问题。我们需要在这里加入Eureka Server和Eureka Client的依赖,例如: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> <version>2.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>2.1.1.RELEASE</version> </dependency> ``` 3、编写配置文件 我们需要在resources目录下创建application.properties配置文件,添加Eureka Server和Eureka Client的配置,例如: ```properties server.port= 起动端口号 eureka.client.service-url.defaultZone=http://localhost:${server.port}/eureka/ # 服务注册 eureka.instance.prefer-ip-address=true eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ipAddress}:${server.port} ``` 4、启动类添加注解 在CoreApplication.java启动类添加@EnableDiscoveryClient或@EnableEurekaServer注解,激活对Eureka的支持。如下所示: ```java @EnableDiscoveryClient @SpringBootApplication public class CoreApplication { public static void main(String[] args) { SpringApplication.run(CoreApplication.class, args); } } ``` 5、测试 启动CoreApplication.java程序后,通过浏览器访问http://localhost:port/就能成功访问到注册在Eureka Server上的微服务了。 以上就是使用Idea搭建Spring Cloud微服务的步骤,非常简单易懂。通过这样的方式,我们可以快速地搭建出一套高可用、可扩展的微服务架构,提高开发效率和代码质量。 ### 回答3: 随着互联网技术的发展,越来越多的企业开始将自己的业务系统拆分成微服务架构,这种架构的好处就是能够让系统开发、维护更加灵活,同时也能够提高系统的可用性和扩展性。而Spring Cloud作为目前最流行的分布式微服务框架之一,其提供了一系列丰富的组件和服务,可以帮助开发者快速搭建高可用的微服务应用。接下来,我们就来看看如何使用IDEA搭建一个Spring Cloud微服务。 第一步,创建一个空的Spring Boot项目。 在IDEA,选择“File” -> “New” -> “Project” -> “Spring Initializr”,然后选择“Spring Boot”和“Java”作为项目类型,填写好项目名称、包名、本等信息后,创建一个空的Spring Boot项目。 第二步,添加Spring Cloud依赖。 在“pom.xml”文件添加相关的Spring Cloud依赖,包括例如“spring-cloud-starter-eureka-server”、“spring-cloud-starter-config”、“spring-cloud-starter-gateway”等。这些依赖会帮助我们快速搭建一个基于Eureka的服务注册心、配置心和网关。 第三步,配置服务注册心和配置心。 在“application.yml”文件,添加相关的Eureka和配置心的配置信息,包括例如“eureka.client.service-url.defaultZone”、“spring.cloud.config.server.git.uri”等。这些信息会帮助我们配置一个可用的服务注册心和配置心。 第四步,创建微服务模块。 在IDEA,选择“File” -> “New” -> “Module”,然后选择“Spring Initializr”和“Java”作为模块类型,填写好模块名称、包名、本等信息后,创建一个新的Spring Boot微服务模块。在模块添加相关的业务逻辑代码和依赖关系,例如使用“spring-cloud-starter-netflix-eureka-client”将微服务注册到服务注册心。 第五步,配置网关路由规则。 在“application.yml”文件配置网关路由规则,包括例如“spring.cloud.gateway.routes.id”、“spring.cloud.gateway.routes.uri”、“spring.cloud.gateway.routes.predicates”等。这些规则将会决定网关如何将请求路由到不同的微服务模块。 最后,运行微服务应用。 在IDEA,点击运行按钮,启动服务注册心、配置心、网关和微服务模块,并测试是否能够正常调用微服务接口。如果一切顺利,就成功搭建了一个Spring Cloud微服务应用。 总而言之,使用IDEA搭建Spring Cloud微服务需要按照以上流程进行,需要注意的是在添加依赖以及选择模块类型等方面需要根据具体项目的需求进行调整。希望本文能够对您有所帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值