您的位置:首页 > 游戏 > 手游 > 洛阳疫情最新情况今天_中国现任领导名单简介_app引流推广方法_百度seo排名优化价格

洛阳疫情最新情况今天_中国现任领导名单简介_app引流推广方法_百度seo排名优化价格

2024/12/23 4:53:44 来源:https://blog.csdn.net/ZEUS00456/article/details/143777568  浏览:    关键词:洛阳疫情最新情况今天_中国现任领导名单简介_app引流推广方法_百度seo排名优化价格
洛阳疫情最新情况今天_中国现任领导名单简介_app引流推广方法_百度seo排名优化价格

INDEX

      • §1 依赖
      • §2 配置
      • §3 静态、动态引用
        • §3.1 `@Value` 静态引用
        • §3.2 `@Value` 动态引用
        • §3.3 `@ConfigurationProperties` 动态引用
      • §4 多配置文件

§1 依赖

父 pom

有了 spring-cloud-alibaba-dependencies 不用 spring-cloud-dependencies
官网上 import 了两个 pom,实测没必要

<!-- 指定父容器 -->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.7.RELEASE</version>
</parent><!-- 加入版本管理 -->
<properties><spring.cloud.version>2.2.9.RELEASE</spring.cloud.version>
</properties>
<dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

子 pom

<!--实装引入-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

§2 配置

### 强烈建议:spring 系的项目,都显示的定义 spring.application.name
### 尤其是 spring cloud 项目
spring:application:name: sdbc-nacos-sccloud:nacos:config:### nacos url 和用户名密码配置,必须server-addr: 192.168.32.3:8848username: nacospassword: nacos### 必配### cloud下,data-id 通过下面的配置自动识别,可以省略### ${prefix}-${spring.profiles.active}.${file-extension}### group 可以省略,默认使用 DEFAULT_GROUPnamespace: sdbcfile-extension: yml### 也可以作为 data-id 的 prifix### 优先级高于 spring.application.name, 但依然不建议省略#prefix: sdbc-nacos-scc

springcloud 给 nacos 规定了较充足的默认值

  • namespace : public
  • group : DEFAULT_GROUP
  • data-id : ${spring.application.name}
  • file-extension : properties

在不使用默认值的情况下(比如配置不在 public 空间),缺少 namespace、file-extension 或配置不正确时,可能报如下异常

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'sdbc.nacos.sc.a' in value "${sdbc.nacos.sc.a}"at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:178) ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE]at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124) ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE]

§3 静态、动态引用

§3.1 @Value 静态引用
@Value("${sdbc.nacos.sb.a}")
private String a;
§3.2 @Value 动态引用

需要如下配置,但是 NacosConfigProperties 中此配置默认开启

spring.cloud.nacos.config.refresh-enabled=true

直接在引用的类上增加 @RefreshScope 即可

@NacosValue(value = "${sdbc.nacos.sb.b}", autoRefreshed = true)
private String b;
§3.3 @ConfigurationProperties 动态引用

springcloud 下 @ConfigurationProperties 自动支持动态引用
@ConfigurationProperties只是声明了模块化引用,还需要使模块化引用被spring扫描否则是不生效的
声明方式

@ConfigurationProperties(prefix = "sdbc.nacos.sc.l")
public class ModulizedConfig {private String x;private String y;
}

扫描方式
方式1:直接在声明处增加 @Component
方式2:使用 @Bean 的方式扫描

@Configuration
public class ModulizedActiveConfig {@Beanpublic ModulizedConfig modulizedConfig() {return new ModulizedConfig();}
}

方式3:使用 @EnableConfigurationProperties 扫描

@Configuration
@EnableConfigurationProperties(ModulizedConfig.class)
public class ModulizedActiveConfig {
}

当模块化配置没有被正确的扫描时,会按找不到 bean 报错

***************************
APPLICATION FAILED TO START
***************************Description:A component required a bean of type 'x.ModulizedConfig' that could not be found.

§4 多配置文件

参考 基本配置,增加 extension-configs

spring:cloud:nacos:config:extension-configs:- data-id: sdbc-nacos-sc-biz.ymlgroup: DEFAULT_GROUPrefresh: true### extension-configs 的缺省规则同 spring.cloud.nacos.config.*- data-id: sdbc-nacos-sc-white.yml

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com