博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring boot @Value的值取不到
阅读量:4042 次
发布时间:2019-05-24

本文共 1667 字,大约阅读时间需要 5 分钟。

boot中@Value读取配置信息,1.声明为Bean,可以被spring管理 2.要通过构造方法注入,通过new 对象的方式,@Value的值读取不到。

例如如下图:

配置Bean的配置

@Data@NoArgsConstructor@Componentpublic class OSSConfig{//	oss服务器地址,北上广深等	@Value("${live.oss.endpoint.video.gaokao}")	private String endpoint;	@Value("${live.oss.accessKeyId}")	private String accessKeyId;	@Value("${live.oss.accessKeySecret}")	private String accessKeySecret;	@Value("${live.oss.bucketName.gaokao}")	private String bucketName;}
control中的引用

public class LiveOssController {    private LiveOssService liveOssService ;    private OSSConfig ossConfig ;    public LiveOssController(LiveOssService liveOssService,OSSConfig ossConfig){        this.liveOssService = liveOssService ;        this.ossConfig = ossConfig ;    }}

@Value的两种方式

基于@Value进行注入时有两种方式,占位符和spel表达式 
//占位符方式
    @Value("${jdbc.url}")
    private String url;
    //SpEL表达方式,其中代表xml配置文件中的id值configProperties
    @Value("#{configProperties['jdbc.username']}")
    private String userName;
这两种方式需要在xml中配置时也是不一样的
<!--基于占位符方式 配置单个properties -->
    <!--<context:property-placeholder location="conf/jdbc.properties"/>-->
    <!--基于占位符方式 配置多个properties -->
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
        <property name="location" value="conf/jdbc.properties"/>
    </bean>

    <!--基于SpEL表达式 配置多个properties id值为configProperties 提供java代码中使用 -->
    <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath:/conf/jdbc.properties</value>
            </list>
        </property>
    </bean>

    <!--基于SpEL表达式 配置单个properties -->
    <!--<util:properties id="configProperties" location="classpath:conf/jdbc.properties"/>-->

转载地址:http://zeadi.baihongyu.com/

你可能感兴趣的文章
Mysql导入导出.sql文件《转》
查看>>
Mysql&nbsp;for&nbsp;MacOSX&nbsp;安装和基本操作
查看>>
MAC&nbsp;系统的启动过程和系统启动时运…
查看>>
svn&nbsp;常用命令《转》
查看>>
Linux中的环境设置PATH与exp…
查看>>
Improved&nbsp;logging&nbsp;in&nbsp;Objective-C&nbsp;…
查看>>
ShareKit&nbsp;分享到FaceBook,&nbsp;Twitter…
查看>>
Facebook&nbsp;Share&nbsp;iOS&nbsp;Tutorial
查看>>
判断系统版本(用宏,非UIDevice)以…
查看>>
unsigned&nbsp;int的最大值及int的最大…
查看>>
Property&nbsp;List&nbsp;支持的数据类型(us…
查看>>
Shell编程基础《转》
查看>>
Xcode&nbsp;调试加入参数《Apple&nbsp;Dev&nbsp;Do…
查看>>
修改mysql编码《转》
查看>>
Posting&nbsp;images&nbsp;using&nbsp;TWRequest《…
查看>>
mac系统如何显示和隐藏文件&nbsp;《转》
查看>>
iphone开发常用代码(不断更…
查看>>
OpenCV&nbsp;学习笔记
查看>>
UIColor&nbsp;转换为&nbsp;UIImage&nbsp;《转》
查看>>
&lt;iOS4&gt;Switching&nbsp;between&nbsp;front&nbsp;an…
查看>>