Nacos
注册中心
版本
使用的版本
spring.cloud.alibaba | nacos |
---|---|
2.1.0.RELEASE | NACOS1.3.2 |
依赖
<!--spring boot 2.2.2-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<!--spring cloud Hoxton.SR1-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
<!--Spring cloud alibaba 2.1.0.RELEASE-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
</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>
配置文件
bootstrap.yml
spring:
application:
name: sunams-tasks
cloud:
nacos:
discovery:
server-addr: localhost:8848
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
url: jdbc:oracle:thin:@localhost:1521:orac
driver-class-name: oracle.jdbc.driver.OracleDriver
username: gdf
password: sdfsf
# 初始化,最小,最大连接数
initialSize: 3
minidle: 3
maxActive: 18
# 获取数据库连接等待的超时时间
maxWait: 60000
# 开启Druid监控
filters: stat,wall,config
web-stat-filter:
enabled: true
application.yml
server:
port: 9099
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # SQL日志打印
call-setters-on-nulls: true
jdbc-type-for-null: 'null' #允许SQL赋值null 注意:单引号
启动类
@SpringBootApplication
@EnableDiscoveryClient
@EnableScheduling
public class HunTasksApplication {
public static void main(String[] args) {
SpringApplication.run(HunTasksApplication.class, args);
}
}
配置中心
版本
使用的版本
spring.cloud.alibaba | nacos |
---|---|
2.1.0.RELEASE | NACOS1.3.2 |
依赖
<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>
改造配置文件
删除application.yml文件
修改 bootstrap.yml,添加注册中心地址
使用nacos作为配置中心时,需要创建一个bootstrap.yaml和application.yaml两个配置文件,bootstrap.yaml的优先级高于application.yaml,加载时实现加载bootstrap.yaml中的相关配置
指定spring.profiles.active来配置不同的环境,读取不同的配置文件
spring:
application:
name: tunil-account
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yaml
profiles:
active: dev # 环境逻辑组 dev/test/prod
Nacos 规则: {cloudalibaba-config-service}-{spring.profiles.active}.{file-extension}
当前获取的配置文件是tunil-account-dev.yaml
配置中心增加配置
- yaml后缀不要遗漏
动态刷新
- 配置@RefreshScope
@RestController
@Slf4j
@RefreshScope //动态刷新
public class ConfigController {
//@NacosValue(value = "${server.port}", autoRefreshed = true)
@Value("${server.port}")
private String info; //该属性值是从nacos配置中心拉取到的配置
@GetMapping("/testConfig")
public String testConfig(){
return info;
}
}
当配置发生改变时自动更新