Spring属性注入
一、配置在
1.配置文件
2.测试类
4.如出现乱码注意设置
发布日期: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.properties
we文件中 如果需要系统主动加载我们创建的配置文件,则需要在@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
呢?
@Value
如果说,我们专门写了一个JavaBean来和配置文件映射,我们就直接@ConfigurationProperties
转载地址:https://lukeyalvin.blog.csdn.net/article/details/104099220 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月09日 21时17分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
YbtOJ——字符串处理【例题1】数字反转
2019-04-30
YbtOJ——字符串处理【例题2】移位包含
2019-04-30
转trt步骤记录
2019-05-01
MatConvNet安装
2019-05-01
依赖错误
2019-05-01
ROS安装与卸载
2019-05-01
openrave安装
2019-05-01
安装openrave 0.9的各种依赖包
2019-05-01
trajopt代码使用
2019-05-01
kpm代码使用细节
2019-05-01
kpm代码使用步骤
2019-05-01
.jar文件格式
2019-05-01
用原生java实现Spring以及SpringMVC(二)
2019-05-01
JAVA中线程的各种状态
2019-05-01
Kafka如何做到高可用及保证写入数据不丢失
2019-05-01
并发编程及工具类
2019-05-01
Elasticsearch
2019-05-01
redis
2019-05-01
分库分表及读写分离
2019-05-01