Это первый раз, когда я участвую в Gengwen Challenge.18День, подробности о событии уточняйте:Обновить вызов
Со временем капли воды и камни изнашиваются 😄
В предыдущей статье автор представил, как установить Nacos, Адрес статьи:Установка NACOS.С этого началось главное событие.
Соберите проект SpringBoot
добавить зависимости
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
nacos-configЭта зависимость эквивалентнаSpringCloud Config,nacos-discoveryЭта зависимость эквивалентнаEureka.
Центр конфигурации
先将nacos-discovery依赖进行注释,先来实现configСоздать в проектеbootstrap.ymlфайл, добавьте следующую конфигурацию:
spring:
application:
#服务名称
name: naocs-service
profiles:
active: dev
cloud:
nacos:
config:
# 配置文件的环境
group: ${spring.profiles.active}
# 配置文件的格式
file-extension: yaml
# 配置中心的地址
server-addr: 47.105.198.54:8848
# 配置文件prefix
prefix: ${spring.application.name}
#命名空间
namespace: mall
Затем войдите в nacos, выберите управление конфигурацией на странице nacos и создайте файл конфигурации.
Здесь нужно настроить три основных параметра: DataID, Group и контент, который нужно настроить.
Полный формат идентификатора данных:${prefix}-${spring.profile.active}.${file-extension}.
-
${prefix}Значение по умолчаниюspring.application.nameЗначение также можно передать через элемент конфигурацииspring.cloud.nacos.config.prefixнастроить. -
${spring.profile.active}: соответствует текущей средеprofile, Примечание: когдаspring.profiles.activeКогда он пуст, соответствующий коннектор - также не будет существовать, и формат конкатенации DataID станет${prefix}.${file-extension}. -
${file-extension}Указывает расширение файла конфигурации, которое можно передать через элемент конфигурацииspring.cloud.nacos.config.file-extensionнастроить. В настоящее время поддерживается толькоpropertiesиyamlтип.
Группа — это тоже группа, и в этой статье она разделена по среде. Такие как dev, test, uat.Конфигурация автора:
-
Идентификатор данных: naocs-service-dev.yaml
-
Группа: разработчик
-
Новое пространство имен
Контроллер, предоставляющий тесты
@RestController
@RefreshScope // 动态刷新
public class HelloController {
@Value("${name}")
private String name;
@GetMapping
public String hell(){
return name;
}
}
Затем вызовите интерфейс:http://localhost:8080/hello
Регистрационный центр
将nacos-discovery依赖注释放开.
затем вbootstrap.ymlдокументnacosУзел at увеличился следующим образом:
discovery:
server-addr: 47.105.198.54:8848
group: ${spring.profiles.active}
namespace: mall
Запустите проект и войдите в NACO. можно увидетьУправление услугами -> Список услугЕсть информация о зарегистрированных сервисах.
Загрузить несколько файлов конфигурации
В реальной разработке мы не можем поместить все конфигурации в один и тот же файл конфигурации одновременно, что может показаться слишком сложным и сложным.
product-dev.yaml
новыйproduct-dev.yamlфайл, конечно, вы также можете использовать файл выше.
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.105.198.54:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: xxxx
jackson:
date-format: yyyy-MM-dd HH:mm:ss #如果使用字符串表示,用这行设置格式
timezone: GMT+8
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Далее я будуproduct-dev.yamlКонфигурация в разделена, чтобы статьdatasource-dev.yaml,mybatis-plus-dev.yaml.
datasource-dev.yaml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
# MySQL配置
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.105.198.54:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: xxxx
mybatis-plus-dev.yaml
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
потом в приложенииbootstrap.ymlвнутреннийconfigДобавьте конфигурацию под нодой:
spring:
profiles:
active: ${DEPLOY_ENV}
application:
name: product
cloud:
nacos:
config:
group: ${spring.profiles.active}
file-extension: yaml
server-addr: ${NACOS}
prefix: ${spring.application.name}
namespace: ${nacos.client.namespace}
extension-configs:
- dataId: datasource-${spring.profiles.active}.yaml
group: ${spring.profiles.active}
#是否自动刷新
refresh: true
- dataId: mybatis-plus-${spring.profiles.active}.yaml
group: ${spring.profiles.active}
refresh: true
Уведомление:${DEPLOY_ENV},${NACOS}Эти две конфигурации являются конфигурациями запуска., соответствующий среде загрузки, такой как dev, адрес Nacos, например 47.105.198.54:8848.