yml文件中二维数组在Linux上问题,180612-Spring之Yml配置文件加载问题

1f8cc41666ce068ca85c8b7149a85605.png

Yml配置文件加载问题

在resource目录下有一个application.yml文件,希望是通过@PropertySource注解,将配置文件数据读取到Environment中,然而调试发现数据始终读取不到,google之后,记录下解决方法

在测试用例中,指定初始化方式 @ContextConfiguration(classes = RedisConf.class, initializers = ConfigFileApplicationContextInitializer.class)

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(classes = RedisConf.class, initializers = ConfigFileApplicationContextInitializer.class)

public class RedisTest {

@Test

public void testRedis() {

String ans = JedisClient.getStr("hello");

System.out.println(ans);

}

}

对应的配置类

@Configuration

@PropertySource(value = "classpath:application.yml")

public class RedisConf {

@Autowired

private Environment environment;

@Autowired

public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {

RedisTemplate redisTemplate = new RedisTemplate<>();

redisTemplate.setConnectionFactory(redisConnectionFactory);

DefaultStrSerializer serializer = new DefaultStrSerializer();

redisTemplate.setValueSerializer(serializer);

redisTemplate.setHashValueSerializer(serializer);

redisTemplate.setKeySerializer(serializer);

redisTemplate.setHashKeySerializer(serializer);

redisTemplate.afterPropertiesSet();

JedisClient.register(redisTemplate);

return redisTemplate;

}

@Bean

public RedisConnectionFactory redisConnectionFactory() {

LettuceConnectionFactory fac = new LettuceConnectionFactory();

fac.getStandaloneConfiguration().setHostName(environment.getProperty("spring.redis.host"));

fac.getStandaloneConfiguration().setPort(Integer.parseInt(environment.getProperty("spring.redis.port")));

fac.getStandaloneConfiguration()

.setPassword(RedisPassword.of(environment.getProperty("spring.redis.password")));

fac.afterPropertiesSet();

return fac;

}

}

II. 其他

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

QQ: 一灰灰/3302797840

3. 扫描关注

Spring的多配置文件加载

如果配置文件存在多个的情况下,加载配置文件的方式是:1--可以指定总的配置文件去包含子的配置文件,然后只加载总的配置文件即可在总配置文件applicationContext.xml 中引入子文件 &l ...

Spring Cloud配置文件加载优先级简述

Spring Cloud中配置文件的加载机制与其它的Spring Boot应用存在不一样的地方:如它引入了bootstrap.properties的配置文件,同时也支持从配置中心中加载配置文件等:本文 ...

Spring Boot源码分析-配置文件加载原理

在Spring Boot源码分析-启动过程中我们进行了启动源码的分析,大致了解了整个Spring Boot的启动过程,具体细节这里不再赘述,感兴趣的同学可以自行阅读.今天让我们继续阅读源码,了解配置文 ...

Spring使用环境变量控制配置文件加载

项目中需要用到很多配置文件,不同环境的配置文件是不一样的,因此如果只用一个配置文件,势必会造成配置文件混乱,这里提供一种利用环境变量控制配置文件加载的方法,如下: 一.配置环境变量 如果是window ...

Spring使用环境变量控制配置文件加载&lpar;转&rpar;

项目中需要用到很多配置文件,不同环境的配置文件是不一样的,因此如果只用一个配置文件,势必会造成配置文件混乱,这里提供一种利用环境变量控制配置文件加载的方法,如下: 一.配置环境变量 如果是window ...

Spring之配置文件加载方式

spring在org.springframework.core.io包中提供了多种配置文件加载方式.无论是XML.URL还是文件,都有很好的支持.比如基于URL的UrlResource.基于输入流的I ...

springboot的yaml基础语法与取值&comma;配置类&comma;配置文件加载优先级

1.基本语法k:(空格)v:表示一对键值对(一个空格必须有):以空格的缩进来控制层级关系:只要是左对齐的一列数据,都是同一个层级的属性和值也是大小写敏感: server: port: 8081 pat ...

SpringBoot系列之配置文件加载位置

SpringBoot系列之配置文件加载位置 SpringBoot启动会自动扫描如下位置的application.properties或者application.yml文件作为Springboot的默认 ...

SpringBoot——配置文件加载位置及外部配置加载顺序

声明 本文部分转自:SpringBoot配置文件加载位置与优先级 正文 1. 项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者applic ...

随机推荐

Ampersand&period;js - 模块化的 JS 应用程序开发框架

Ampersand.js 是一个高度模块化,松耦合,用于构建先进的 JavaScript 应用程序的框架.通过良好定义的方法,结合了一系列微小的 CommonJS 模块.条理清晰,没有多余的冗余代码. ...

C&num; Cookie工具类

/// /// Cookies赋值 /// /// 主键& ...

Leetcode 231 Power of Two 数论

同样是判断数是否是2的n次幂,同 Power of three class Solution { public: bool isPowerOfTwo(int n) { ) && ((( ...

解决POI读取Excel如何判断行是不是为空

在作Excel表导入数据库的时候要统计成功导入了多少条,失败了多少条. 问题一:Excel表里有225行,只有3行是有数据的,但是我在读Excel表的时候它连没有数据的行也读进来了. 问题二:如果你是 ...

学习hash&lowbar;map从而了解如何写stl里面的hash函数和equal或者compare函数

---恢复内容开始--- 看到同事用unordered_map了所以找个帖子学习学习 http://blog.sina.com.cn/s/blog_4c98b9600100audq.html (一)为 ...

java打包&sol;命令行方式运行jar(命令行进行程序测试)

public class Testtmp { public static void main(String[] args) { // TODO Auto-generated method stub f ...

Flink--sink到kafka

package com.flink.DataStream import java.util.Properties import org.apache.flink.api.common.serializ ...

Object-Oriented(二)原型对象

自用备忘笔记 1. 理解原型对象 只要创建函数,函数上就会创建一个 prototype 属性指向函数的原型对象. function Person() {} Person.prototype //指向该 ...

cognos report在做同比时遇到的问题解决方法

本例就拿简单的一个模型作为测试: 订单中包括日期key,商品类型key 现在要实现每月的订单数,以及去年同期的订单数: step1:新建2个数据项 本月,去年同月 本月: [每日订单数据分析].[日期 ...

mfc制作ActiveX

转:https://blog.csdn.net/hkcsdn/article/details/52908748       前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值