java @Value(
作者:墨咖 发布时间:2023-10-05 02:54:47
标签: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
来源:https://blog.csdn.net/qq_37335810/article/details/100522428
0
投稿
猜你喜欢
- SpringMvc中普通类注入Service为null场景:使用Quartz定时器时,普通的java类需要注入spring的service类
- 文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并。很多高大上的分布式文件系统(比如:google
- 一、实战-内存溢出堆内存溢出栈内存溢出方法区溢出直接内存溢出二、实战-堆内存溢出演示堆内存溢出代码,并且定位问题总结堆内存溢出的场景与解决方
- 一、下载安装包 1. JDK1.8百度云下载路径:百度网盘下载链接: https://pan.baidu
- 一、电子邮件详解假设自己的电子邮件是me@163.com,对方的邮件是you@163.com我们编写好文件填写好对方文件,点击发送,这些电子
- 本文实例讲述了Java删除二叉搜索树的任意元素的方法。分享给大家供大家参考,具体如下:一.删除思路分析在删除二叉搜索树的任意元素时,会有三种
- 本文实例讲述了Java Spring开发环境搭建及简单入门示例。分享给大家供大家参考,具体如下:前言虽然之前用过Spring,但是今天试着去
- 基于JavaFX开发桌面程序注:我也是JAVA FX的初学者之一,自己在学习的时候踩了许多的坑,中文英文的资料查了不少,但是觉得FX技术和其
- 实际需求<if test="computationRule == '1'"> F
- 在实际应用中,大家使用的密码可以说多种多样,但是无论有多少,其组成不遑是有可打印字符组成的,我们可以认为class CreateDic{ p
- 实例如下所示:/** * 创建多级目录文件 * * @param path 文件路径 * @throws IOException */pri
- springboot的最强大的就是那些xxxAutoconfiguration,但是这些xxxAutoConfiguration又依赖那些s
- 背景Swagger 可以提供 API 操作的测试文档,本文记录 Swagger 使用过程中遇到的两个小问题:全局响应结果进行包装后导致 Sw
- 在谈 JVM 内存区域划分之前,我们先来看一下 Java 程序的具体执行过程,我画了一幅图。Java 源代码文件经过编译器编译后生成字节码文
- Lambda表达式无法抛出异常1.Demo 例子错误提示 - Unhandled exception: java.io.IOExceptio
- 最近要给一个 Winform 项目添加功能,需要一个能显示进度条的弹窗,还要求能够中止任务,所以就做了一个,在此做个记录总结。虽然用的是比较
- Java中代码的加载顺序所能了解的知识点类的依赖关系static代码块的加载时间继承类中构造器的隐式调用非static的成员变量初始化时间m
- 一、问题描述在使用idea Jrebel续期的时候,修改idea激活服务器地址时,遇到报错:Cannot reactivate, offli
- 动态方法就是一个Action对应多个请求,减少Action的数量1、指定method属性<action name="addA
- 工作需要,经常需要实现api接口,但每次都是大同小异,我就考虑是否可以将这种重复性的工作配置化。我就写一个模板api,然后所有的HTTP请求