今天跟大家说一下如何分析spring@value注入配置文件值失败的原因,很多人可能不太理解。为了让大家更好的了解,边肖为大家总结了以下内容,希望大家能从这篇文章中有所收获。
00-1010今天,我写了一个system.propertities配置文件,定义了一个变量host=localhost。
然后将加载配置添加到spring配置文件中。
在服务中写这个。
@Value('${host} ')
privatestaticStringhost但是我无法得到各种信息,最后发现是静态关键词。
Spring@Value依赖注入是一种依赖集方法。
Set方法是普通的对象方法,而静态变量是类的属性,没有set方法;
spring@value注入配置文件值失败的原因
当spring使用@Value将值从application.properties注入变量时,遇到了
解决了注入失败和注入值为零两个问题。
00-1010 1.检查maven依赖关系,
(如果生效,则无需后续步骤)
2.添加note @ property source(value=" class path :/application . properties ")配置文件路径。
(如果生效,则无需后续步骤)
3.输入注入的变量作为构造方法的参数。
spring配置文件@Value注解注入失败或为null
maven依赖关系
属国
groupIdorg.springframework/groupId
artifactIdspring-核心/artifactId
version5.1.5.RELEASE/version
/依赖性
属国
groupIdorg.springframework.boot/groupId
artifactId spring-boot-starter/artifactId
version2.1.3.RELEASE/version
/dependencyconfig类
@配置
//声明属性文件的位置
@ property source(value=' class path :/application . properties ')
public class demonconfig {
privateStringname
//注入@Value作为构造函数参数
public demonconfig(@ Value(' $ { book . name } ')string name){ 0
this.name=name
}
public void output(){ 0
System.out.println(名称);
}
}main
@回弹应用
publicclassDemoApplication{
publicationstativitmain(String[]args){ 0
//SpringAPPLication . run(DeMoapplication . class,args);
注释配置应用程序上下文=
newannocationconfigapplicationcontext(Democonfig . class);
DemoconfigServiCe=context . GetBean(Democonfig . class);
service . output();
}
}
解决方案
1.春季版本问题。根据我的实验,4.x以下的版本会有一些注入问题。
2.未写入注释@ property source(value=" class path :/application . properties "),或者路径错误。
3.那个。属性文件没有放在资源文件夹中。
00-1010 1.除了springboot附带的application.properties文件之外,您还可以自己创建test.properties,导入其他自己创建的属性并管理属性。
看完以上内容,你对如何分析spring@value注入配置文件值失败的原因有了更好的理解吗?如果您想了解更多知识或相关内容,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151263.html