spring-boot nacos
spring-boot nacos
nacos-config-spring-boot-starter
nacos-discovery-spring-boot-starter
<?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><groupId>dr.cqr</groupId><artifactId>demor</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><java.version>1.8</java.version></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.11</version></dependency><!-- 代码生成器 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.11</version></dependency><!-- https://mvnrepository.com/artifact/org.freemarker/freemarker --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.34</version></dependency><!-- 分页 --><!-- jdk 8+ 引入可选模块 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-jsqlparser-4.9</artifactId></dependency><!-- 多数据源 --><!-- https://mvnrepository.com/artifact/com.baomidou/dynamic-datasource-spring-boot-starter --><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>4.3.1</version></dependency><!-- oracle --><!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 --><dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>23.7.0.25.01</version><scope>runtime</scope></dependency><!-- oracle字符集支持 --><!-- Additional library required to support Internationalization --><dependency><groupId>com.oracle.database.nls</groupId><artifactId>orai18n</artifactId><version>21.5.0.0</version><scope>provided</scope></dependency><!-- 版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。--><!-- https://mvnrepository.com/artifact/com.alibaba.boot/nacos-config-spring-boot-starter --><dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.12</version></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-discovery-spring-boot-starter</artifactId><version>0.2.12</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-bom</artifactId><version>3.5.11</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>
nacos配置
nacos:# 配置中心config:server-addr: localhost:8848# 权限认证,nacos.core.auth.enabled=true 时需要添加username: nacospassword: nacosfile-extension: yaml# 设置配置文件所属命令空间namespace: e9232680-860c-4217-b312-75de46e374e9#服务注册discovery:username: nacospassword: nacosserver-addr: localhost:8848# 服务注册命令空间namespace: e9232680-860c-4217-b312-75de46e374e9file-extension: yaml# 设置配置文件所属组group: DEFAULT_GROUP
启动配置
@SpringBootApplication
@RestController
@NacosPropertySource(dataId = "demor.yml", autoRefreshed = true)
public class APPApplication {public static void main(String[] args) {SpringApplication.run(APPApplication.class, args);System.out.println("################### 启动成功 ##################");}
}
获取服务列表和配置文件
//获取服务列表@NacosInjectedprivate NamingService namingService;//获取配置文件@NacosValue(value = "${ff.fg}", autoRefreshed = true)private String fg;@GetMapping("/nacos")public String nacos () throws IOException, NacosException {System.out.println(fg);System.out.println(namingService.getAllInstances("demor"));return "ok";}
nacos配置参数
# 开启配置预加载功能
nacos.config.bootstrap.enable=true
# 主配置 服务器地址
nacos.config.server-addr=192.168.16.104:8848
# 主配置 data-id
nacos.config.data-id=people
# 主配置 group-id
nacos.config.group=DEFAULT_GROUP
# 主配置 配置文件类型
nacos.config.type=properties
# 主配置 最大重试次数
nacos.config.max-retry=10
# 主配置 开启自动刷新
nacos.config.auto-refresh=true
# 主配置 重试时间
nacos.config.config-retry-time=2333
# 主配置 配置监听长轮询超时时间
nacos.config.config-long-poll-timeout=46000
# 主配置 开启注册监听器预加载配置服务(除非特殊业务需求,否则不推荐打开该参数)
nacos.config.enable-remote-sync-config=true# 支持日志级别的加载时机
nacos.config.bootstrap.log-enable=true
# 支持配置 data-ids 的设置方式
nacos.config.data-ids=people,test
# 支持 nacos 1.2.0 新增的权限控制功能
nacos.config.username=nacos
nacos.config.password=nacos
# 允许nacos上的配置优先于本地配置
nacos.config.remote-first=true# ext-config[index] 的优先级,index 越小,优先级越高,从 0 开始。
nacos.config.ext-config[0].data-id=test
nacos.config.ext-config[0].group=DEFAULT_GROUP
nacos.config.ext-config[0].max-retry=10
nacos.config.ext-config[0].type=yaml
nacos.config.ext-config[0].auto-refresh=true
nacos.config.ext-config[0].config-retry-time=2333
nacos.config.ext-config[0].config-long-poll-timeout=46000
nacos.config.ext-config[0].enable-remote-sync-config=true