记录创建Spring Boot+Spring Cloud项目

基于Spring的全家桶,当前比较流行的基于Spring Cloud的分布式微服务架构,但是根据查阅资料并理解,Spring Cloud应该是用于分布式部署的一个架构,我们各种业务实现还是要借助Spring Boot,所有项目中是需要Spring Boot和Spring Cloud,在此记录一下本地可以正常启动的pom配置信息。
Spring Boot parent配置

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

再加Spring Cloud

  <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR9</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
  </dependencyManagement>

dependencyManagement和另外的dependencies是区分开来的,即pom文件中会有如下的格式

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

  <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR9</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
  </dependencyManagement>

配置文件bootstrap.yml如下:

spring:
  profiles:
    active: dev

配置文件bootstrap-dev.yml如下(使用nacos作为配置文件):

spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: spring-cloud-demo
  cloud:
    nacos:
      config:
        enabled: true
        file-extension: yml
        server-addr: localhost:8848
        refresh-enabled: true
        group: demo
        namespace: demo
logging:
  level:
    com:
      alibaba:
        nacos:
          client:
            naming: error

注意:
1、在nacos需要创建命名空间为:demo,创建配置文件spring-cloud-demo-dev.yml,分组为demo。在配置文件中配置数据库连接。(nacos搭建可以参考官网文档:https://nacos.io/zh-cn/index.html
2、Spring Boot和Spring Cloud版本需要使用对应的,如果使用的其他的版本的,需要注意版本兼容问题。版本对应信息访问Spring官网查看(https://spring.io/projects/spring-cloud#overview),也可以参考下图(2021年3月8日)。

image.png

以上说明是本地测试可以正常通过nacos读取配置信息启动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容