1.加入pom配置:
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.5</version>
</dependency>
<!--注册中心的依赖-->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.5</version>
</dependency>
2.application.yml加入nacos地址:
一下为application的配置:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
port: 8080
# Spring配置
spring:
application:
name: spring-boot
# 资源信息
messages:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: prod
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 10MB
# 设置总上传的文件大小
max-request-size: 20MB
# 服务模块
devtools:
restart:
# 热部署开关
enabled: true
nacos:
config:
server-addr: ip:8848 #配置中心地址
bootstrap:
enable: true #开启配置预加载功能
log-enable: false
data-id: ${spring.application.name}-${spring.profiles.active} # 主配置 data-id
group: DEFAULT_GROUP # 主配置 group-id 这里约定环境参数
namespace: public # 主配置
type: yaml # 主配置 配置文件类型
max-retry: 2 # 主配置 最大重试次数
auto-refresh: true # 主配置 开启自动刷新
config-retry-time: 3000 # 主配置 重试时间
config-long-poll-timeout: 6000 # 主配置 配置监听长轮询超时时间
enable-remote-sync-config: false # 主配置 开启注册监听器预加载配置服务(除非特殊业务需求,否则不推荐打开该参数)
username: nacos
password: nacos
discovery:
server-addr: ip:8848 # Nacos 服务器地址
auto-register: true # 是否自动注册到 Nacos 中。默认为 false。
namespace: # 使用的 Nacos 的命名空间,默认为 null。
register:
service-name: ${spring.application.name}-${spring.profiles.active} # 注册到 Nacos 的服务名
group-name: DEFAULT_GROUP # 使用的 Nacos 服务分组,默认为 DEFAULT_GROUP。
cluster-name: # 集群名,默认为空。
nacos的配置:
spring-boot-prod: |
# 开发环境配置
server:
servlet:
# 应用的访问路径
context-path: /
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
# tomcat最大线程数,默认为200
max-threads: 800
# Tomcat启动初始化的线程数,默认值25
min-spare-threads: 30
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/spring-boot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username:
login-password:
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
# redis 配置
redis:
# 地址
host: 127.0.0.1
# 端口,默认为6379
port: 6379
# 密码
password:
# 连接超时时间
timeout: 10s
lettuce:
pool:
# 连接池中的最小空闲连接
min-idle: 0
# 连接池中的最大空闲连接
max-idle: 8
# 连接池的最大数据库连接数
max-active: 8
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
# 日志配置
logging:
level:
com.crc: debug
org.springframework: warn
# 项目相关配置
SmartTech:
# 名称
name: SmartTech-SpringBoot-Java
# 版本
version: 1.0.0
# 版权年份
copyrightYear: 2020
# 实例演示开关
demoEnabled: true
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
profile: D:/360Downloads/uploadPath
# 获取ip地址开关
addressEnabled: true
# token配置
token:
# 令牌自定义标识
header: Authorization
# 令牌秘钥
secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期(默认30分钟)
expireTime: 30
# MyBatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.crc.project.**.domain
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mybatis/**/*Mapper.xml
# 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml
# PageHelper分页插件
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
# 防止XSS攻击
xss:
# 过滤开关
enabled: true
# 排除链接(多个用逗号分隔)
excludes: /system/notice/*
# 匹配链接
urlPatterns: /system/*,/monitor/*,/tool/*
# 代码生成
gen:
# 作者
author: XXX
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.crc.project.system
# 自动去除表前缀,默认是true
autoRemovePre: false
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
tablePrefix: sys_
3.启动类加入:
-
@EnableNacosDiscovery //注册中心注解 使用nacos
- 加入注册服务:
-
@Value("${spring.application.name}-${spring.profiles.active}") private String applicationName; @Value("${server.port}") private Integer serverPort; @PostConstruct public void registerService() throws NacosException { namingService.registerInstance(applicationName, "127.0.0.1", serverPort); }