springboot+nacos
1. 这里使用的spring boot版本是2.6.1,为了兼容springcloud,所以spring cloud的版本是2021的。引入依赖
<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-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
<version>0.0.20131108.vaadin1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.6</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<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-bootstrap</artifactId>
</dependency>
<!--<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<dependency>
<groupId>com.wisdge</groupId>
<artifactId>wisdge.web</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>com.wisdge</groupId>
<artifactId>wisdge.dataservice</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>ngs.filter</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>
跟nacos有关的依赖就两个,要注意这里引得是alibaba的。

还有要注意的一点就是因为springboot版本的问题,在使用bootstrap.yml这个配置文件的时候,需要额外引入一个依赖

这样准备环境就可以了。接下来去配置bootstrap.yml。
nacos-server-addr: localhost:8848 nacos-namespace: public nacos-config-group: DEFAULT_GROUP spring: application: name: LocalTest # profiles: # active: ${env} cloud: nacos: discovery: enabled: true server-addr: ${nacos-server-addr} namespace: ${nacos-namespace} config: enabled: true # 如果不想使用 Nacos 进行配置管理,设置为 false 即可 server-addr: ${nacos-server-addr} # Nacos Server 地址 group: ${nacos-config-group} # 组,默认为 DEFAULT_GROUP file-extension: yaml # 配置内容的数据格式,默认为 properties namespace: ${nacos-namespace}
spring.application.name即为注册上去的服务名,这里使用的还是nacos默认的命名空间跟组,想修改的话需要在nacos上创建新的命名空间跟组。启动项目发现已经注册上去了

要注意的一点是,这里是做为一个服务,如果要关联起来,起到读nacos上配置的话,需要在配置管理里面加一个对应的配置。


在这里配置yaml文件会取代本地的yml配置内容,会优先读取nacos里面的配置。曾经就遇到一个问题,本地端口修改为8084,项目注册了服务到nacos上,启动第二个8081端口的项目一直说8081端口被占用。后面才发现是因为nacos的原因,读取的是nacos里面的配置端口。。。
到这里springboot整合nacos就结束了,简单捋一下过程。引入nacos的相关依赖,配置bootstrap文件,本地启动nacos,再启动项目即可。要注意的是修改nacos上的配置文件,需要重新启动项目才会生效。

浙公网安备 33010602011771号