开发者学堂课程【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 String
author;
{
/ /@Value ("$
{
book . name
}
")
private String
name ;
@RequestMapping (" /bookInfo")
@ResponseBody
Public
String showInfo ()
{
return
author+" : "+name ;
}
使用这种方式只需要使用一次注解,不用每次都使用 value,注意成员变量需要生成 set get 方法,在使用 value 不需要设置,使用基于安全配置就需要生成 set get 方法。
2、如果有很多自定义属性,只要以相同的前缀开头即可,就不需要在每一个成员变量上使用注解,只需要使用一次,指名前缀即可。
3、为了区别,把值改成 toms,springboot。说明通过指名前缀的方式,取到自定义的值。
三、总结
1、在 application.properties 文件中自定义属性:例如
book.author=张三
book.name=SpringBoot
2、@ConfigurationProperties(prefix="book")