一、sweet-boot-nacos-starter是什么?
sweet-boot-nacos-starter 是基于spring-boot和spring-cloud-alibaba-nacos组件二次封装的组件,是sweet-boot中重要的一个启动装置。方便应用程序在服务注册与发现方面提供和Nacos 的无缝集成及为分布式系统中的外部化配置提供服务器端和客户端支持,可以在 Nacos Server 集中管理应用的外部属性配置。
二、封装
1.创建sweet-boot-nacos-starter模块,编辑pom文件:
<?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>
<parent>
<groupId>com.lyd.sweet</groupId>
<artifactId>sweet-boot-starter</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>sweet-boot-nacos-starter</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
<groupId>org.springframework.cloud</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</dependency>
<!-- 自动生成配置属性 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>
2.创建bootstrap.properties配置文件
###以下配置内容,在业务系统通过bootstrap.properties配置 或 命令行参数配置 或 VM参数配置 覆盖###
###以下配置内容,在业务系统通过bootstrap.properties配置 或 命令行参数配置 或 VM参数配置 覆盖###
###以下配置内容,在业务系统通过bootstrap.properties配置 或 命令行参数配置 或 VM参数配置 覆盖###
#nacos服务地址,多个逗号隔开
nacos.server=127.0.0.1:8848
#服务名称
spring.application.name=sweet-boot-sample
#配置文件suffix,多个逗号隔开
spring.profiles.active=base,business
#配置文件服务地址
spring.cloud.nacos.config.server-addr=${nacos.server}
#是否允许刷新
spring.cloud.nacos.config.refresh-enabled=true
#配置所在命名空间,为空默认为pubilc
spring.cloud.nacos.config.namespace=
#配置所在命名空间下的分组
spring.cloud.nacos.config.group=DEFAULT_GROUP
#配置文件扩展名称(配置文件类型)
spring.cloud.nacos.config.file-extension=yml
#配置文件名称,最终名称为:${spring.application.name}-base.yml和${spring.application.name}-business.yml
spring.cloud.nacos.config.name=${spring.application.name}
#共享配置文件名称
spring.cloud.nacos.config.shared-configs[0].data-id=global-env.yml
#共享配置文件支持动态刷新
spring.cloud.nacos.config.shared-configs[0].refresh=true
#服务注册发现地址
spring.cloud.nacos.discovery.server-addr=${nacos.server}
#服务启动日志为INFO级别
logging.level.root = info
3.创建Nacos服务发现启动配置类
@EnableDiscoveryClient
public class NacosDiscoveryConfig {
public NacosDiscoveryConfig() {
}
}
4.创建/resource/META-INF/spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.lyd.sweet.nacos.config.NacosDiscoveryConfig
三、使用步骤
1. 引入库
<dependency>
<groupId>com.lyd.sweet</groupId>
<artifactId>sweet-boot-nacos-starter</artifactId>
</dependency>
2. 示例
sweet-boot-nacos-starter: 使用示例 - Gitee.com