请教各位大神一个spring boot @Value注解问题

使用springboot,在一个普通java项目(**非web项目**),怎么在main入口直接使用@Value("${key}")注解取到值

主类代码

图片说明

application. properties文件

图片说明

没有C币,对不起大家。。。

0

6个回答

不能用static修饰你要注入的对象

1

刚刚接触spring boot ,新手一个,请各位老哥不吝赐教

0

然后呢怎么解决的

0

不能用static修饰你要注入的对象,如果确实要用就要用对应的非static set()方法。

 @Value("${demo.url}")
    public void setUrl(String url) {
        SupportService.url = url;
    }
0
weixin_42145230
^_^达❤令 这个方法实行 但有失效的时候 加@Component 和setter方法去掉static 也会出现没注入的情况
大约一个月之前 回复
<bean id="cachePropertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="order" value="2" />
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="locations">
        <list>
            <value>classpath*:application.properties</value>
        </list>
    </property>
</bean>
    需要将配置文件加载到PropertyPlaceholderConfigurer spring是通过配置文件做的,springBoot也类似
-1

项目的构成有问题,StartApplication.java必须在自己要扫描的java类的最上层。
它会自动扫描自己下层的类。

比如:
src/main/java
|_StartApplication.java
|_com.it.main
|_**.java
|_abc.efg.hij
|_**.java

-2
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Springboot 之 单元测试
本文章来自【知识林】在Springboot开发过程中会经常用到单元测试,相对写Controller而言,单元测试更为简单方便。 本例子的测试主要是通过单元测试的方式实现上一篇文章《Springboot 之 自定义配置文件及读取配置文件》中的测试。在pom.xml中引入Maven依赖包<dependency> <groupId>org.springframework.boot</groupI
Spring boot之@Value注解的使用总结 外部配置文件中的属性值注入到类属性中
原文链接:https://blog.csdn.net/hunan961/article/details/79206291 总结: 把配置文件属性信息写到/changhe/src/main/resources/application.yml文件中, model.path: D:\\eclipse-workspace\\my-spring-security\\src\\main\\resourc...
Spring boot 项目 @Value注解获取application.properties配置文件内的值为 Nullde的问题 解决方案
springboot 采用@Value 注解的方式获取值: 废话不说,直接贴问题代码: 配置文件: 2.注解位置(注意网上说没有 @Comonent 注解的原因 我已经加了。还是不行。。。。) 控制台 打印日志(Console): 值竟然为null!  遂百度找到答案: 还是吃了没看文档 的亏啊  原来 此方法 是在默认情况下是不被spring context掌管的。 ...
Spring boot之@Value注解的使用总结
Spring boot之@Value注解的使用总结 liguo.wang@hand-china.com 简单介绍 Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能
Spring Boot系列四 Spring @Value 属性注入使用总结一
Spring Boot系列四 Spring @Value 属性注入使用总结一
springboot中@value注解,读取yml属性失败
springboot中@value注解,读取yml属性失败 我最后的解决办法,在配置@configuration的类上面,换成@EnableAutoConfiguration@EnableAutoConfiguration,问题解决了,但是现在还不懂具体原因, 有大佬的话可以帮解释下,或者等以后学的好了再回来填坑吧 ...
Spring @Value 用法小结,#与$的区别
20161016更新:这货其实是SpEL的功能,来这里看看吧: Spring 4 官方文档学习(五)核心技术之SpEL     起因 一直的用法是 @Value(&quot;${jdbc.driverClass}&quot;) 这样,但在Spring官方文档里又看到 @Value(&quot;#{a.b}&quot;)的用法。 于是研究了下。 结论 @Value的值有两类: ① ${ property : defa...
SpringBoot中 使用@Value注解获取不到配置文件中的值问题
在学习《spring cloud与Docker微服务架构实战》一书中,编写一个简单的服务提供者和服务消费者的小例子。 @RestController public class MovieController { @Autowired RestTemplate restTemplate; @GetMapping(&quot;/user/{id}&quot;) public User getUserBy...
spring注解:@Value在使用中遇到的问题
最近试着搭了一个spring+springmvc+mybatis+activiti的框架,遇到了不少问题。自己也学习了很多资料。在此记录下关于@Value使用过程中的一些问题。 关于spring中@Value的使用,我主要是用来便捷地引用属性文件的键值。使用方法,网上有很多相关文章,略做整理,大致用法如下: 1、在spring的配置文件中申明spring加载属性文件的bean。需要指明属性...
SpringBoot @Value注解取值为null的问题
说明 在程序初始化的时候,想拿@Value来初始化一些东西,却拿不到值,如下: image.png 解决 如果要在初始化取value值,改写如下: image.png 使用@PostConstruct注解来解决问题更佳 image.png ...
在Spring-boot中,为@Value注解添加从数据库读取properties支持
一般情况下,property存在工程中的文件就可以了,但带来的坏处是如果属性需要改变,必须重新发布工程。比如,对接上例中的url,可能会变为https,可能端口会变化。所以,这种类型的属性放在数据库中更合适。 然而将属性存储在数据库中后,@Value对应的值就无法正常解析了。因此,这里提供一种hack的方法,使得@Value可以正常解析
Springboot使用@Value注解读取指定properties文件
原先使用@Value注解直接读取application.yml文件中的值 但是发现一个问题 这样配置文件会越来越乱 为了使核心配置文件只写核心配置内容 所以选择将其他的配置信息单独抽取出来放到别的文件中。这时候就需要@value这个注解能够读取我们指定的文件 优先级最高的还是核心配置文件 自己可以试一下当两个都有同样配置内容 不同参数的时候 首先读取的还是核心配置文件中的内容。 话不多说 直接上...
spring boot使用@Value注解获取properties空值问题
参考链接:https://bbs.csdn.net/topics/390936459 第一次写spring boot程序,多少带有springframework那种思维方式。在使用@value注解获取properties文件中的属性值时,遇到了空值情况,最终原因是参考链接中32楼的答复: 具体而言: @Component @PropertySource(&quot;classpath:applicatio...
spring boot和kotlin里静态类使用@Value注解配置解决方案
spring boot和kotlin里静态类使用@Value注解配置解决方案 前言 spring boot里默认是不能给静态属性使用@Value赋值的。所以这里使用中间变量过渡绑定。 方案 //applicaton.yml配置 isDebug:true name:cy //Test类保存配置信息。使用@Value取配置里的isDebug和name变量值。 //spring b...
spring注解值发生改变动态刷新
1.在项目中添加依赖 org.springframework.cloud spring-cloud-starter-config 1.3.1.RELEASE org.springframework.boot spring-bo...
关于spring value注解取不到值问题。
spring value注解取值问题
SpringBoot @value注解取不到值的问题
##关于@value的springapplication容器的问题 1.在src/main/resources下创建stu.properties文件 ## student.name=Tom student.age=22 student.birthday=1996/01/10 student.sex=true student.hobbies[0]=swimming student.hobbies[1...
Spring Boot使用Value注解给静态变量赋值的方法
昨天在使用@Value注解给静态变量赋值的时候,发现静态变量的值始终是null。后来搜索一下得知其中原因,Spring Boot 不允许/不支持把值注入到静态变量中。但是我们可以变通一下解决这个问题。因为Spring Boot 支持set方法注入,我们可以利用非静态set方法注入静态变量。代码: private static String directPurchaseurl; @Va...
Spring @Value注解使用${}进行注入
原文:[url]http://my.oschina.net/js99st/blog/632104[/url] spring3中新增的@value注解 [url]http://bijian1013.iteye.com/blog/2024068[/url],[color=red]这里成功配置[/color] [color=red]controller读取不到的原因[/color]: [url]...
spring boot里@Value和@bean执行顺序问题
spring boot里@Value和@bean执行顺序问题 文章目录spring boot里@Value和@bean执行顺序问题前言情况一:不同文件下情况二:同一文件下使用Environment取代@Value,它直接取配置文件 前言 正常情况下@Bean比@Value先执行,但有个条件,@Bean和@Value不在同一个文件里。 如果想控件这个先后顺序有如下3种情况。 下面代码使用kotlin...
springboot使用.properties文件注解读入@Value中文乱码问题
| 问题背景 使用springMVC,后端给前端返回的中文为乱码。最初以为是后端编码与前端编码不一致,后加入log调试发现是因为使用@value注入的时候,读取到application.properties文件就是乱码。 | 解决办法 || 方法1 指定application文件的编码格式 此方法未验证,借鉴此处 《CarryDiu的博客》 || 方法2 修改application文件的编码格式 ...
关于spring使用@value注解获取properties文件属性问题
最近使用java加载properties文件内容 突然想到了@value不是可以做这样的工作嘛 。于是换成@value来加载 由于没用过这个注解还是导致了一些问题 这里来记录下。  首先我的spring配置文件如下                                                      然后使用 @Value("#{configProperties['a
Spring Boot的条件注解
一 引出各种条件注解 1 MongoAutoConfiguration.java源码 @Configuration @ConditionalOnClass(MongoClient.class) @EnableConfigurationProperties(MongoProperties.class) @ConditionalOnMissingBean(type = &quot;org.springfr...
springboot2整合shiro时@value注解无效解决方案
使用springboot整合shiro时,@value注解无法读取application.yml中的配置 读取不到之前的配置如下: 将LifecycleBeanPostProcessor的配置方法改成静态的就可以了 LifecycleBeanPostProcessor配置成静态的首先加载该类,提前将bean注入到spring中,才能用@value获取配置值...
spring中@Value读取.properties配置文件中文乱码问题
spring中读取.properties文件中文乱码原因是因为springmvc或spring配置文件加载配置文件时没有设定字符集编码问题导致的,其默认是会将.properties配置文件转码为unicode其实在加载配置文件时,运用如下配置即可&amp;lt;context:property-placeholder location=&quot;classpath:config/*.properties&quot; fi...
解决SpringBoot @Value对static属性无效(为null)的问题
今天在写一个工具类,使用@Value注入配置文件的值,但是一直为空,后来查资料发现@Value对static的属性注入无效。 解决办法,其实也挺简单的,就写一个setter方法,在setter方法中注入。当然这个工具类首先得是一个Bean否则是不能被扫描到的,我在这个工具类上加一个组件注解@Component。详细代码如下: @Component public class PegsusUt...
Spring @Value读取系统环境变量
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
Spring Boot Spring @Value 属性注入使用总结一
@Value注入 不通过配置文件的注入属性的情况 通过@Value将外部的值动态注入到Bean中,使用的情况有: 注入普通字符串 注入操作系统属性 注入表达式结果 注入其他Bean属性:注入beanInject对象的属性another 注入文件资源 注入URL资源 详细代码见: @Value(&quot;normal&quot;) private String norma...
Spring Boot 常用注解
转自: http://www.iteye.com/topic/1144685   Spring Boot : http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ Spring : http://docs.spring.io/spring/docs/current/spring-framework-refer...
Spring EL表示式的运用@Value
Spring EL表达式语言,支持在XML和注解中表达式,类是于JSP的EL表达式语言。 在Spring开发中经常涉及调用各种资源的情况,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring的表达式语言实现资源的注入。
Spring Boot 自定义属性 以及 乱码问题
自定义属性application.properties提供自定义属性的支持,这样我们就可以把一些常量配置在这里:#自定义属性 com.waiting.custom.one=自定义属性ONE com.waiting.custom.two=自定义属性TWO com.waiting.custom.three=3然后直接在要使用的地方通过注解@Value(value="${config.name}")取出:
【SpringBoot】SpringBoot @Value注解无法引入配置文件中的值的正确解决办法
1. 如下代码是七牛云的工具类,需要引入七牛云的一些密钥 @Component public class QiNiuFileUp { @Value(&quot;${qiniu.accessKey}&quot;) private String accessKey; @Value(&quot;${qiniu.secretKey}&quot;) private String secretKey; ...
spring 容器后处理器 BeanFactoryPostProcessor 使用需要注意的一个问题
BeanFactoryPostProcessor 和 BeanPostProcessor前者是对于容器而已,也就是容器启动时候会把所有的BeanFactoryPostProcessor执行一遍,当你自己自定义BeanFactoryPostProcessor的时候,并且以javaconfig的形式,例如package com.fengdui.dubbo.config; import com.ali...
Spring通过@Value注解注入系统属性
自己写了一个Spring注解方式注入系统属性的test,成功注入自定义的系统属性。 Model类定义 package cn.lin.luo.tian.profile; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Com...
SpringBoot初学习——参数验证、@Valid注解
SpringBoot 的@Valid注解拥有强大的表单验证功能,能够满足基本的需要。下面是一个使用@Valid注解的实例,要求姓名和年龄不能为空,年龄要大于18岁。 实体类 package com.vi.blog.domain; import javax.persistence.Entity; import javax.persistence.GeneratedValue; impo...
Spring boot 读取配置文件——@Value的使用
spring boot中读取配置文件,非常简单,只需要利用一个注解@Value用法是这样的,加入我们的yml文件中的一个属性version的值是1.0,要在类中获取这个文件,我们只需这样写@Value("${version}") String version;这样就可以获得属性文件中的值了关于yml文件的配置,请查看spring boot yml配置
Spring Boot通过注解读取配置文件,并解决读取配置文件中文乱码问题
在编写Spring boot项目时,注解帮助我们简化了大量的代码量。 现在给大家介绍一个通过注解读取配置文件的例子。 配置文件:resources/config.properties 内容如下: conf.plugin.key1=小米 conf.plugin.key2=小明 编写配置文件读取类:PluginConfig.java @Component @ConfigurationP...
Spring4自定义@Value功能
本文章使用的Spring版本4.3.10.RELEASE @Value在Spring中,功能非常强大,可以注入一个配置项,可以引用容器中的Bean(调用其方法),也可以做一些简单的运算 如下的一个简单demo,演示@Value的用法 import org.springframework.stereotype.Service; /** * 测试Bean */ @Serv
spring boot数组型属性的配置
spring boot普通属性配置非常方便 通过@value(${属性名称})就可以绑定到相关的属性值.但是对于某些比较复杂的对象属性配置且改对象数目不确定时通过固定的属性名配置显然有太复杂,通过list结合map可以较为灵活的对这类对象进行配置范例如下: @Configuration @ConfigurationProperties(prefix=&quot;com.all.security&quot;) pu...
springboot自定义注解(一)
在整个spring框架中,提供的注解非常的多,这些注解简化了我们的很多操作。那么,我们如何自定义注解呢? 第一步:学习已有的注解 @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Mapping public @interface RequestMap...