首先pom.xml需要添加依赖
pom.xml如下:
需要添加nacos的发现机制和配置中心。
注意:spring-cloud-starter-bootstrap的目的是为了自动刷新配置中的一环。是为了让bootstrap.properties生效,而bootstrap.properties又决定着springcloud的一些性质比如刷新
dependencies>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-bootstrapartifactId>
dependency>
dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>2020.0.6version>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-alibaba-dependenciesartifactId>
<version>2021.1version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>
然后application.yml添加下面的关于nacos的内容.
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
config:
server-addr: 127.0.0.1:8848
添加一个bootstrap.properties/yml.
注意这个bootstrap.properties也是为了自动刷新的重要一环。
bootstrap配置文件是springcloud的专业配置文件,里面填写的东西无需太多,但是都极为关键,比如这里只需要填spring.application.name
但是按理说cloud.nacos等配置也需要放这里,因为这是cloud的配置,但是server.port不能放这里,因为这不是cloud的配置
spring.application.name=boot-cloud
当然需要安装nacos,这里不再赘述。在nacos上面添加一个DataID=boot-cloud.properties的配置文件。添加
user.name=tom
java代码里测试下:就可以做到自动刷新。注意需要在bean上面添加@RefreshScope
@RefreshScope
@Compoment
class Test{
@Value("${user.name}")
private String name
}