java @Value(

 更新时间:2021年08月04日 09:24:45   作者:墨咖  
这篇文章主要介绍了java @Value("${}")获取不到配置文件中值的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java @Value("${}")获取不到配置文件中值

1、property.yml配置

spring:
  mail:
    port: 25

2、获取不到配置信息

问题再现:

获取信息@Value("${spring.mail.port}")

注解写在utils类中,当需要获取数据的时候,显示的却是:NULL

但是写在serviceImpl或者controller中,需要获取该数据的时候却可以获取到

3、原因分析

个人理解:配置在property(application.yml)中的属性,最终都是属于bean级别的,而在serviceImple和controller中分别有@service和@controller注解,他俩同时也是bean级别的,所以可以获取到数据。而utils中没有加类似注解,不属于同一个级别,所以无法获取数据

4、项目问题再现

方法设置为static--获取不到数据(将util中的方法设置为static是为了方便调动,不用再new utils)

@value()下面的接收变量为static--获取不到数据

在调用utils的serviceImpl中直接utils.method()--获取不到数据(改为@Autowired Utils utisl,通过utils.method())

配置在application.yml中的<num: 10>可以在@value()getNum;下面的接收变量getNum直接参与四则运算:getNum*8(结果是80)

@Value 读取不到值下面是重点注意的地方

类上有这三个标签:

@Component
@ConfigurationProperties(prefix = "file")

@Value("${file.hostname}")

有这个jar包

        <dependency>  
			<groupId>org.springframework.boot</groupId>  
			<artifactId>spring-boot-configuration-processor</artifactId>  
			<optional>true</optional>  
		</dependency> 

类的加载得这样

不能new

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java Socket实现的传输对象功能示例

    Java Socket实现的传输对象功能示例

    这篇文章主要介绍了Java Socket实现的传输对象功能,结合具体实例形式分析了java socket传输对象的原理及接口、客户端、服务器端相关实现技巧,需要的朋友可以参考下
    2017-06-06
  • Mybatis mapper接口动态代理开发步骤解析

    Mybatis mapper接口动态代理开发步骤解析

    这篇文章主要介绍了Mybatis mapper接口动态代理开发步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • IDEA如何让控制台自动换行

    IDEA如何让控制台自动换行

    本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File -> Settings -> Editor -> General -> Console,然后勾选"Use soft wraps in console"选项
    2025-01-01
  • Mybatis 动态SQL搭建环境的全过程

    Mybatis 动态SQL搭建环境的全过程

    这篇文章主要给大家介绍了关于Mybatis动态SQL搭建环境的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 解决Spring Boot 正常启动后访问Controller提示404问题

    解决Spring Boot 正常启动后访问Controller提示404问题

    今天小编再次搭建Spring Boot项目的时候遇到访问Controller报404错误,之前都很顺利。到底怎么回事呢?下面小编给大家带来了解决Spring Boot 正常启动后访问Controller提示404问题,感兴趣的朋友一起看看吧
    2018-08-08
  • Java的数据类型和参数传递(详解)

    Java的数据类型和参数传递(详解)

    下面小编就为大家带来一篇Java的数据类型和参数传递(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java接口的本质解析

    Java接口的本质解析

    Java接口是初学者必须经历的基础,但初学之时肯定不会完全懂,温故而知新本篇文章就带你重拾接口全面掌握
    2022-03-03
  • java实现PPT转化为PDF

    java实现PPT转化为PDF

    这篇文章主要为大家详细介绍了java实现PPT转化为PDF的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Java MyBatis返回两个字段作为Map的key和value问题

    Java MyBatis返回两个字段作为Map的key和value问题

    使用MyBatis查询两个字段并返回Map时,需要注意数据量和值的类型,直接返回Map会导致报错,使用@MapKey注解可以生成Map,但值是对象而不是直接值,为了解决这个问题,可以自定义一个Map结果处理器MapResultHandler
    2024-12-12
  • springboot+jersey+tomcat实现跨域方式上传文件到服务器的方式

    springboot+jersey+tomcat实现跨域方式上传文件到服务器的方式

    这篇文章主要介绍了springboot+jersey+tomcat实现跨域方式上传文件到服务器,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03

最新评论