Cloud基于Nacos的bootstrap.yml
Cloud基于Nacos的bootstrap.yml
配置pom的dev
test
uat
prod
profiles 用于maven打包时可选环境。
<profiles>
<!--步骤一:多环境配置,根据不同的环境将对应的环境变量设置到项目中-->
<profile>
<!-- 本地开发环境 -->
<!--不同环境Profile的唯一id-->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<!-- uat环境 -->
<id>uat</id>
<properties>
<profiles.active>uat</profiles.active>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
</profiles>
配置项目的 bootstrap.yml
active: dev
代表选择dev配置作为项目启动配置
bootstrap.yml 内容
spring:
application:
name: your-cloud-server1
profiles:
active: dev
server:
port: 8080
servlet:
context-path: /your-cloud-server1-path
ribbon:
ServerListRefreshInterval: 3000
bootstrap-dev.yml (基于dev的) nacos配置
namespace: dev
代表是nacos dev 命名空间下
spring:
cloud:
nacos:
username: nacos
password: nacos
config:
file-extension: yaml
server-addr: 127.0.0.1:8848
# 注册命名空间
namespace: dev
discovery:
server-addr: 127.0.0.1:8848
# 注册命名空间
namespace: dev
bootstrap-prod.yml (基于prod的) nacos配置
namespace: prod
代表是nacos 正式 命名空间下
spring:
cloud:
nacos:
username: nacos
password: nacos
config:
file-extension: yaml
#更换为你正式nacos的地址
server-addr: your.prod.nacos:8848
# 注册命名空间
namespace: prod
discovery:
server-addr: your.prod.nacos:8848
# 注册命名空间
namespace: prod
配置nacos远程的项目配置文件
!>注意对应环境地址下的nacos 需要配置 对应 namespace
的命名空间
配置好命名空间后在对应的 config.namespace 配置命名空间下创建yaml文件
your-cloud-server1-dev.yaml 文件内容
logging:
config: classpath:logback-spring.xml
level:
com.alibaba.nacos.client.config.impl: DEBUG
spring:
#配置跨域访问
cloud:
gateway:
globalcors:
corsConfigurations:
'[/**]':
allowCredentials: true
allowedHeaders: '*'
allowedMethods: '*'
allowedOrigins: '*'
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
datasource:
url: jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
username: ...
password: ....
#阿里druid连接池驱动配置信息
type: com.alibaba.druid.pool.DruidDataSource
#连接池的配置信息
#初始化大小,最小,最大
initialSize: 2
minIdle: 2
maxActive: 3
#配置获取连接等待超时的时间
maxWait: 6000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 10
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
#配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
#打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
#配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,log4j
#通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
redis:
host: 127.0.0.1
port: 6379
password: ....
lettuce:
pool:
max-wait: 100000
maxIdle: 10
minIdle: 1
max-active: 100
timeout: 5000
mybatis:
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: cn.hanyuanhun.**.entity
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus:
mapper-locations: classpath*:cn/hanyuanhun/user/mapper/xml/*.xml
transaction:
rollback-on-commit-failure: true
ribbon:
#指定 Ribbon 客户端刷新服务列表的间隔时间默认30秒 设定为20s 减少开销
ServerListRefreshInterval: 20000
ReadTimeout: 10000
#指定 Ribbon 客户端与服务实例建立连接的超时时间 默认为2s,设定为 10s
ConnectTimeout: 10000
feign:
compression:
request:
mime-types: application/f-serialization,application/json
httpclient:
enabled: true
client:
config:
default:
#设置连接超时时间为10秒
connect-timeout: 10000
read-timeout: 30000
这样就完成了整个SpringCloud项目配置文件基于远程Nacos加载配置过程。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!