Spring属性注入
发布日期:2021-06-30 22:58:38 浏览次数:2 分类:技术文章

本文共 2012 字,大约阅读时间需要 6 分钟。

依赖

在这里插入图片描述

一、配置在application.properties

1.配置文件application.properties

user.name=Alvinuser.gender=男user.age=20岁

2.测试类User.java

//将User类注入到Spring容器@Componentpublic class User {
//绑定属性 @Value("${user.name}") private String name; @Value("${user.gender}") private String gender; @Value("${user.age}") private String age; //ToString方法用于打印 @Override public String toString() {
return "User{" + "name='" + name + '\'' + ", gender='" + gender + '\'' + ", age='" + age + '\'' + '}'; } //生成setter/getter方法 public String getName() {
return name; } public void setName(String name) {
this.name = name; } public String getGender() {
return gender; } public void setGender(String gender) {
this.gender = gender; } public String getAge() {
return age; } public void setAge(String age) {
this.age = age; }}

3.进行单元测试

在这里插入图片描述

在这里插入图片描述

4.如出现乱码注意设置UTF-8

在这里插入图片描述

在这里插入图片描述

二、自行创建配置文件

通常情况下,application.properties用来配置系统相关配置,而且系统默认加载此类文件,这种属性注入可以自己创建配置文件并让系统去加载

 将原来的application.properties中的文件剪切到新创建的user.propertieswe文件中在这里插入图片描述
 如果需要系统主动加载我们创建的配置文件,则需要在@Component注解下面再加如下注解:

//引入自己创建的配置文件user.properties@PropertySource("classpath:user.properties")

 单元测试结果也是一样的在这里插入图片描述

三、使用SpringBoot中的类型安全的属性注入

 在使用@Value("${user.name}")这种注解形式不是很理想,如果涉及属性比较多,挨个注入是非常不现实的,因此引入了SpringBoot中的@ConfigurationProperties注解,注解方法如下:

//将User类注入到Spring容器@Component//引入自己创建的配置文件user.properties@PropertySource("classpath:user.properties")//类型安全的属性注入@ConfigurationProperties(prefix = "user")public class User {
//绑定属性// @Value("${user.name}") private String name;// @Value("${user.gender}") private String gender;// @Value("${user.age}") private String age;}

运行结果仍然是一样的

@ConfigurationProperties@Value的区别

在这里插入图片描述

1.松散语法:@Value只支持标准方式

在这里插入图片描述

在这里插入图片描述

2.Sping表达式:SpEL语句

在这里插入图片描述

我们什么时候用@Value呢?

配置文件yml还是properties他们都能获取到值;
如果说,我们只是在某个业务逻辑中需要配置文件的某项值,使用@Value
如果说,我们专门写了一个JavaBean来和配置文件映射,我们就直接@ConfigurationProperties

转载地址:https://lukeyalvin.blog.csdn.net/article/details/104099220 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:yaml配置
下一篇:SpringBoot容器相关配置

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月09日 21时17分46秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章