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

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

开发者学堂课程【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")

相关文章
|
6月前
|
JavaScript
TypeScript 类的特性、使用方法以及注意事项
TypeScript 类的特性、使用方法以及注意事项
73 0
|
3月前
|
JavaScript 前端开发 安全
TypeScript中的枚举类型有哪些优点和缺点
【8月更文挑战第4天】 TypeScript中的枚举类型有哪些优点和缺点
49 3
|
2月前
|
JavaScript
typeScript进阶(13)_类与注意事项(八项特性)
TypeScript的类支持特性包括:构造函数、继承(使用`extends`)、公有/私有/受保护修饰符、只读修饰符、参数属性、存取器(getters/setters)、抽象类(用`abstract`声明)。类可用作类型。
21 0
typeScript进阶(13)_类与注意事项(八项特性)
|
6月前
|
存储 安全 Go
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
131 0
|
4月前
|
存储 Go 索引
在go语言中自定义泛型的变长参数
【7月更文挑战第8天】在Go语言中,由于官方1.18以前的版本不支持泛型,可以通过空接口和反射模拟泛型。泛型适用于通用数据结构和函数,虽牺牲了一些性能,但提高了代码复用和类型安全性。
66 1
|
6月前
|
JavaScript 编译器 开发者
TypeScript中的类型推断机制:原理与实践
【4月更文挑战第23天】TypeScript的类型推断简化编码,提高代码可读性。编译器基于变量初始值或上下文推断类型,若新值不兼容则报错。文章深入探讨了类型推断原理和实践,包括基本类型、数组、函数参数与返回值、对象类型的推断,并提醒注意类型推断的限制,如非万能、类型兼容性和适度显式指定类型。了解这些能帮助更好地使用TypeScript。
|
6月前
|
存储 算法 Go
泛型在Go语言中的引入与实践
【2月更文挑战第19天】Go语言1.18版本引入了对泛型的原生支持,这一特性使得开发者能够编写更加通用和灵活的代码。本文将深入探讨Go语言中泛型的引入背景、使用方法和实践案例,帮助读者了解并应用这一强大的编程工具。
|
JavaScript
带你读《现代TypeScript高级教程》五、枚举和泛型(1)
带你读《现代TypeScript高级教程》五、枚举和泛型(1)
|
JavaScript 安全 容器
带你读《现代TypeScript高级教程》五、枚举和泛型(2)
带你读《现代TypeScript高级教程》五、枚举和泛型(2)
|
存储 JavaScript 安全
TypeScript中的泛型:深入理解泛型的概念和应用场景
TypeScript中的泛型:深入理解泛型的概念和应用场景