类型安全的配置|学习笔记

简介: 快速学习类型安全的配置

开发者学堂课程【SpringBoot 实战教程 类型安全的配置】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10775


类型安全的配置


内容介绍:

一、定义

二、步骤

三、总结

 

内容简介

上一课讲了自定义属性的值也就是使用注解 value 进行获取如果在 properties文件中自定义属性非常多就需要多次使用注解 value很麻烦所以 springboot又提供了类型安全的配置

 

一、定义

使用 @Value 注入每个自定义配置在项目中显得很麻烦,当自定义属性很多时需要注入很多次 SpringBoot 还提供了基于类型安全的配置方式,通过 @ConfigurationProperties 将 properties 中的属性和一个 Bean 的属性关联,从而实现类型安全的配置

 

二、步骤

1、首先在 properties 文件中自定义属性一个叫 book.author一个叫 book.name如果要获取这两个自定义的值不再使用 value 注解成员变量所在的calss中使用 ConfigurationProperties 注解在命名属性时要让它有一定的规律比如都以相同的前缀开头现在的前缀是 book

@EnableAutoConfiguration

@Controller

@ConfigurationProperties (prefix="book")

public class BookController {

/ /@Value ("$ {book. Author}")

private Stringauthor;{

/ /@Value ("$ {book . name}")

private Stringname ;

@RequestMapping (" /bookInfo")

@ResponseBody

PublicString showInfo ()

{

returnauthor+" : "+name ;

}

使用这种方式只需要使用一次注解不用每次都使用 value注意成员变量需要生成 set get 方法在使用 value 不需要设置使用基于安全配置就需要生成 set get 方法

2、如果有很多自定义属性只要以相同的前缀开头即可就不需要在每一个成员变量上使用注解只需要使用一次指名前缀即可

3、为了区别把值改成 tomsspringboot说明通过指名前缀的方式取到自定义的值

image.png

 

三、总结

1、在 application.properties 文件中自定义属性:例如

book.author=张三

book.name=SpringBoot

2、@ConfigurationProperties(prefix="book")

相关文章
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——环境搭建与软件安装(一)
Linux下的IMX6ULL——环境搭建与软件安装(一)
547 0
Linux下的IMX6ULL——环境搭建与软件安装(一)
|
机器学习/深度学习 算法 Python
一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现
一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现
1501 0
一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现
|
Java API 开发工具
Java程序如何通过阿里云OpenAPI调用短信接口
Java程序如何通过阿里云OpenAPI调用短信接口
1140 1
|
7月前
|
UED
销售易CRM:以用户体验为核心,驱动企业销售效能提升
销售易CRM是一款以用户体验为核心的企业客户关系管理工具。它通过简洁直观的操作界面降低学习成本,流畅稳定的系统性能提升办公效率,智能化功能助力精准识别高价值客户并优化销售流程,移动办公与离线支持打破时间和空间限制。全方位的高效、智能解决方案,助力企业在竞争中脱颖而出,实现持续发展。
|
10月前
|
机器学习/深度学习 算法 数据处理
《MaxFrame:数据处理的卓越实践与提升》
MaxFrame是一款融合AI技术和Pandas库的数据处理工具,提供智能分析、预测及高效的数据清洗、转换功能。它在图像识别和结构化数据处理方面表现出色。然而,在大规模数据处理时性能有待提升,建议优化算法和内存管理。此外,增加数据可视化、机器学习集成等功能,改进用户界面并加强数据安全保障,将使MaxFrame更全面地满足用户需求,成为数据处理领域的领先产品。
154 32
|
11月前
|
传感器 存储 网络协议
Arduino 中的常见的库
Arduino 中的常见库包括:Wire(I2C通信)、SPI(串行外设接口)、Servo(伺服电机控制)、EEPROM(数据存储)、LiquidCrystal(液晶显示)等,这些库简化了硬件编程,提高了开发效率。
1119 3
|
负载均衡 算法 应用服务中间件
Nginx入门 -- 理解 Nginx 的请求处理流程
Nginx入门 -- 理解 Nginx 的请求处理流程
692 1
|
存储 弹性计算 负载均衡
SLB-工作负载(Workload)
SLB-工作负载(Workload)
913 0
|
自然语言处理 机器人 机器学习/深度学习
探索NLP在聊天机器人中的应用
【6月更文挑战第3天】本文探讨了NLP在聊天机器人中的应用,包括自然语言理解(NLU)、自然语言生成(NLG)和对话管理(DM)。NLU帮助机器人识别意图和实体,NLG生成人类友好的回复,DM则控制对话流程。通过深度学习和预训练语言模型,聊天机器人正变得更加智能。未来,多模态交互将成为趋势,提升用户体验。NLP技术将持续推动聊天机器人发展,创造更多可能性。
|
编解码 自然语言处理 并行计算
【经典论文解读】YOLACT 实例分割(YOLOv5、YOLOv8实例分割的基础)
 YOLACT是经典的单阶段、实时、实例分割方法,在YOLOv5和YOLOv8中的实例分割,也是基于 YOLACT实现的,有必要理解一下它的模型结构和设计思路。
3591 0