当前位置:首页 > 科技  > 软件

SpringCloud项目开发中实用技巧总结

来源: 责编: 时间:2024-03-28 09:28:28 239观看
导读环境:SpringBoot2.7.12 + SpringCloud2021.0.71. 日志配置如果使用 Spring Boot 配置日志设置,则应将此配置放在 bootstrap.[yml | properties] 中,以便将其应用于所有事件。注意:为了让 Spring Cloud 正确初始化日志配置

环境:SpringBoot2.7.12 + SpringCloud2021.0.7HEk28资讯网——每日最新资讯28at.com

1. 日志配置

如果使用 Spring Boot 配置日志设置,则应将此配置放在 bootstrap.[yml | properties] 中,以便将其应用于所有事件。注意:为了让 Spring Cloud 正确初始化日志配置,不能使用自定义前缀。例如,在初始化日志系统时,Spring Cloud 无法识别使用 custom.loggin.logpath 的情况。HEk28资讯网——每日最新资讯28at.com

2. 配置发生变化

应用程序会侦听EnvironmentChangeEvent事件,并以几种标准方式对变化做出反应。当EnvironmentChangeEvent事件被监听到时,它将收到发生变化的keys,应用程序将会做如下处理:HEk28资讯网——每日最新资讯28at.com

  • 重新绑定@ConfigurationProperties的Bean对象
    监听器:ConfigurationPropertiesRebinder
  • 为 logging.level.* 中的任何属性设置日志记录器级别。
    监听器:LoggingRebinder

你也可以自定义监听EnvironmentChangeEvent事件HEk28资讯网——每日最新资讯28at.com

@Componentpublic class PackApplicationEventListener implements ApplicationListener<EnvironmentChangeEvent> {  @Override  public void onApplicationEvent(EnvironmentChangeEvent event) {    System.out.println(event.getKeys()) ;  }}

3. @RefreshScope不是什么都能刷新

那些只能初始化一次的 Bean 上使用 @RefreshScope 注解。如果某个 Bean 是 "不可变"的,则必须使用 @RefreshScope 注解或通过如下配置指明完整的类名:HEk28资讯网——每日最新资讯28at.com

spring:  cloud:     refresh:       extra-refreshable: com.pack.PackUser

注意:HEk28资讯网——每日最新资讯28at.com

如果你使用的数据源 Bean 是 HikariDataSource,则无法刷新。这是 spring.cloud.refresh.never-refreshable 的默认值。如果需要刷新,请选择不同的数据源实现。HEk28资讯网——每日最新资讯28at.com

4. 加密与解密

Spring Cloud 有一个环境预处理器,用于在本地解密属性值。可以使用 {cipher}* 形式的加密值,只要存在有效的密钥,它们就会在主应用程序上下文获得环境设置之前被解密。要在应用程序中使用加密功能,需要在类路径中包含 Spring Security RSA(Maven 坐标:org.springframework.security:spring-security-rsa)。HEk28资讯网——每日最新资讯28at.com

#加密配置encrypt:  key: aaaabbbbccccdddd  salt: dead#---#加密关键信息db:  password: '{cipher}6c05a3e62aa1f71b814fd283fc15197ec18a83b67d9da27dcb63c1b3925d68c1'

这里默认使用的AES算法,所以通过如下方式生成密文即可HEk28资讯网——每日最新资讯28at.com

TextEncryptor textEncryptor = new EncryptorFactory("xxx").create("xxxx") ;textEncryptor.encrypt(...)

5. Acturator接口

对于 Spring Boot Actuator 应用程序,还提供了一些额外的管理端点:HEk28资讯网——每日最新资讯28at.com

  • POST 到 /actuator/env,以更新环境并重新绑定 @ConfigurationProperties 和日志级别。要启用此端点,必须设置 management.endpoint.env.post.enabled=true。
  • /actuator/refresh 重新加载引导带上下文并刷新 @RefreshScope Bean。
  • /actuator/restart 关闭 ApplicationContext 并重新启动(默认禁用)。
  • /actuator/pause 和 /actuator/resume,用于调用生命周期方法(ApplicationContext 上的 stop() 和 start())。

6. 自定义属性源

通过 spring.factories添加 PropertySourceLocator 类型的 Bean 来添加其他属性源。如下示例:HEk28资讯网——每日最新资讯28at.com

public class CustomPropertySourceLocator implements PropertySourceLocator {  @Override  public PropertySource<?> locate(Environment environment) {    Map<String, Object> values = new HashMap<>() ;    values.put("config.mq.queue", "pack.test.queue") ;    MapPropertySource source = new MapPropertySource("PACK", values) ;    return source ;  }}

在spring.factories中添加如下配置HEk28资讯网——每日最新资讯28at.com

org.springframework.cloud.bootstrap.BootstrapConfiguration=/com.pack.CustomPropertySourceLocator

以上是本篇文章的全部内容,希望对你有帮助。HEk28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-79989-0.htmlSpringCloud项目开发中实用技巧总结

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 放弃 Jest 后,运行时间减少 90%!

下一篇: 三分钟学会在 RabbitMQ 中实现发布订阅模式

标签:
  • 热门焦点
  • 卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    在今天的Redmi后性能时代战略发布会结束之后,Redmi总经理卢伟冰又带来了一篇长文,详解了为什么 Redmi 要开启后性能时代?为什么选择和 MediaTek、Pixelworks 深度合作?以及后性
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • 中兴AX5400Pro+上手体验:再升级 双2.5G网口+USB 3.0这次全都有

    2021年11月的时候,中兴先后发布了两款路由器产品,中兴AX5400和中兴AX5400 Pro,从产品命名上就不难看出这是隶属于同一系列的,但在外观设计上这两款产品可以说是完全没一点关系
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。&ldquo;提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 阿里瓴羊One推出背后,零售企业迎数字化新解

    作者:刘旷近年来随着数字经济的高速发展,各式各样的SaaS应用服务更是层出不穷,但本质上SaaS大多局限于单一业务流层面,对用户核心关切的增长问题等则没有提供更好的解法。在Saa
  • onebot M24巧系列一体机采用轻薄机身设计,现已在各平台开售

    onebot M24 巧系列一体机目前已在线上线下各平台同步开售。onebot M24 巧系列采用一体化轻薄机身设计,最薄处为 10.15mm,拥有宝石红、午夜蓝、石墨绿、雅致
  • 利用职权私自解除被封帐号 Meta开除20多名员工

    11月18日消息,据外媒援引知情人士表示,过去一年时间内,Facebook母公司Meta解雇或处罚了20多名员工以及合同工,指控这些人通过内部系统以不当方式重置用户帐号,其
Top