1、有时为了管理一些特定的配置文件,会考虑单独放在一个配置文件中,如redis.properties:

  1. #Matser的ip地址
  2. redis.host=192.168.5.234
  3. #端口号
  4. redis.port=6379
  5. #如果有密码
  6. redis.password=root
  7. #客户端超时时间单位是毫秒 默认是2000
  8. redis.timeout=10000
  9. #最大空闲数
  10. redis.maxIdle=300
  11. #连接池的最大数据库连接数。设为0表示无限制,如果是jedis 2.4以后用redis.maxTotal
  12. #redis.maxActive=600
  13. #控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性
  14. redis.maxTotal=1000
  15. #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
  16. redis.maxWaitMillis=1000
  17. #连接的最小空闲时间 默认1800000毫秒(30分钟)
  18. redis.minEvictableIdleTimeMillis=300000
  19. #每次释放连接的最大数目,默认3
  20. redis.numTestsPerEvictionRun=1024
  21. #逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
  22. redis.timeBetweenEvictionRunsMillis=30000
  23. #是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
  24. redis.testOnBorrow=true
  25. #在空闲时检查有效性, 默认false
  26. redis.testWhileIdle=true

对于springboot框架来说,可以使用加入相关注解将配置文件解析成对应的对象,方便在代码中使用

  1. package com.example.springbootredis.config;
  2.  
  3. import lombok.Data;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.beans.factory.annotation.Qualifier;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.boot.context.properties.ConfigurationProperties;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.context.annotation.PropertySource;
  13. import redis.clients.jedis.JedisPool;
  14. import redis.clients.jedis.JedisPoolConfig;
  15. import redis.clients.jedis.Protocol;
  16.  
  17. @Configuration
  18. //redis前缀
  19. @ConfigurationProperties(prefix = "redis")
  20. //配置文件内容
  21. @PropertySource("classpath:/config/redis.properties")
  22. @Data
  23. public class RedisConfig {
  24.  
  25. private Logger logger = LoggerFactory.getLogger(RedisConfig.class);
  26. /**
  27. * Matser的ip地址
  28. */
  29. private String host;
  30. /**
  31. * 端口号
  32. */
  33. private Integer port;
  34. /**
  35. * 密码
  36. */
  37. private String password;
  38. /**
  39. * 客户端连接超时时间,单位毫秒,默认是2000
  40. */
  41. private Integer timeout;
  42. /**
  43. * 最大空闲数
  44. */
  45. private Integer maxIdle;
  46. /**
  47. * 控制一个pool可分配多少个jedis实例,如果是jedis 2.4以后用该属性,2.4之前用的redis.maxActive
  48. */
  49. private Long maxTotal;
  50. /**
  51. * 最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
  52. */
  53. private Long maxWaitMillis;
  54. /**
  55. * 连接的最小空闲时间 默认1800000毫秒(30分钟)
  56. */
  57. private Long minEvictableIdleTimeMillis;
  58. /**
  59. * 每次释放连接的最大数目,默认3
  60. */
  61. private Long numTestsPerEvictionRun;
  62. /**
  63. * 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
  64. */
  65. private Long timeBetweenEvictionRunsMillis;
  66. /**
  67. * 是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
  68. */
  69. private Boolean testOnBorrow;
  70. /**
  71. * 在空闲时检查有效性, 默认false
  72. */
  73. private boolean testWhileIdle;
  74.  
  75. @Override
  76. public String toString() {
  77.  
  78. return String.format("RedisConfig[host=%s,port=%s,password=%s,timeout=%s]",
  79. host, port, password, timeout);
  80. }
  81.  
  82. }

这里主要使用了@Configuration,@ConfigurationProperties(prefix = "redis"),@PropertySource("classpath:/config/redis.properties")三个注解,springboot以前的版本是使用

@Configuration,@ConfigurationProperties(prefix = "redis",locations="classpath:/config/redis.properties")

2、对于一些简单的配置属性可以放在application文件中,在代码中使用@Value注解来获取,如

  1. @Value("${spring.redis.host}") String host

springboot 2.1.3.RELEASE版本解析.properties文件配置的更多相关文章

  1. java解析properties文件

    在自动化测试过程中,经常会有一些公用的属性要配置,以便后面给脚本使用,我们可以选择xml, excel或者json格式来存贮这些数据,但其实java本身就提供了properties类来处理proper ...

  2. Python:解析properties文件

    在项目中遇到解析properties的情况,而Python中正好没有解析properties文件的现成模块,于是从网上找到了这个脚本,有一些小地方修改了一下 原博客: Python读写properti ...

  3. Springboot 2.1.1.RELEASE 版本 session保存到MySQL里面

    1,pom.xml添加依赖: <!-- 数据库session管理 --> <dependency> <groupId>org.springframework.ses ...

  4. SpringBoot在logback.xml中读取application.properties中配置的日志路径

    1.在springboot项目中使用logback记录日志,在logback.xml中配置日志存储位置时读取application.properties中配置的路径,在 logback.xml中配置引 ...

  5. QT在release版本产生pdb文件

    ##环境说明 QtCreator QtLibrary 编译器 Qt Creator 2.7.0 4.8.4-msvc msvc9.0(VS2008) ##背景说明 >项目中需要对发布版本追踪崩溃 ...

  6. 【Quartz】Spring Boot使用properties文件配置Quartz

    (1)在resource目录下新建quartz.properties文件 #============================================================== ...

  7. 1. Spring基于xml加载和读取properties文件配置

    在src目录下,新建test.properties配置文件,内容如下 name=root password=123456 logArchiveCron=0/5 * * * * ? 一种是使用sprin ...

  8. log4j用properties文件配置,无法应用过滤器的解决方法

    properties文件仍然有错误 log4j:WARN Failed to set property [filter] to value "org.apache.log4j.varia.L ...

  9. spring 配置文件中使用properties文件 配置

    配置Bean载入properties文件: <bean id="propertyPlaceholderConfigurer" class="org.springfr ...

随机推荐

  1. 百度地图Canvas实现十万CAD数据秒级加载

    背景 前段时间工作室接到一个与地图相关的项目,我作为项目组成员主要负责地图方面的设计和开发.由于地图部分主要涉及的是前端页面的显示,作为一名Java后端的小白,第一次写了这么多HTML和JavaScr ...

  2. Android Studio安卓学习笔记(二)Android项目结构

    上一篇代码,我们学习了Android的功能以及如何用Android Studio开发第一个安卓程序.下面就要介绍Android项目结构.为日后学习打基础. 一:Android项目结构 打开MyFris ...

  3. Android定时锁屏功能实现(AlarmManager定时部分)

    菜鸟入坑记——第一篇 关键字:AlarmManager 一.AlarmManager简介: 参考网址:https://www.jianshu.com/p/8a2ce9d02640        参考网 ...

  4. 分布式唯一ID生成算法-雪花算法

    在我们的工作中,数据库某些表的字段会用到唯一的,趋势递增的订单编号,我们将介绍两种方法,一种是传统的采用随机数生成的方式,另外一种是采用当前比较流行的“分布式唯一ID生成算法-雪花算法”来实现. 一. ...

  5. P1415 拆分数列 DP

    传送门: 题意: 将一个数字串分成许多不同的小串,使得这些小串代表的数字严格递增,要求最后一个数字尽可能地小. 然后满足字典序尽可能大. 思路: 由于最后一个数字要尽可能地小,所以先处理出每个数的L[ ...

  6. yzoj P2350 逃离洞穴 题解

    题意 跑两边spfa的水题,注意判断有人才取最大值 代码 #include<bits/stdc++.h> using namespace std; inline int read(){ i ...

  7. 对git使用的初步总结

    使用git也才一周多,就已经深深爱上这款软件了. 之前公司一直用的是clearcase,一款老到除了公司内部的人和曾经开发这款软件的人,估计再也不会有人知道了吧! (当然也许还会有其他公司也会使用,因 ...

  8. WordCount2.2

    说明: 合作者:201631062507  201631062526(学号) 代码地址:https://gitee.com/WordCountMC/WordCountTeam 本次作业链接:https ...

  9. 【Offer】[62] 【圆圈中最后剩下的数字】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 牛客网刷题地址 ...

  10. 【LeetCode】105#从前序与中序遍历序列构造二叉树

    题目描述 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9 ...