springboot 2.1.3.RELEASE版本解析.properties文件配置
1、有时为了管理一些特定的配置文件,会考虑单独放在一个配置文件中,如redis.properties:
- #Matser的ip地址
- redis.host=192.168.5.234
- #端口号
- redis.port=6379
- #如果有密码
- redis.password=root
- #客户端超时时间单位是毫秒 默认是2000
- redis.timeout=10000
- #最大空闲数
- redis.maxIdle=300
- #连接池的最大数据库连接数。设为0表示无限制,如果是jedis 2.4以后用redis.maxTotal
- #redis.maxActive=600
- #控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性
- redis.maxTotal=1000
- #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
- redis.maxWaitMillis=1000
- #连接的最小空闲时间 默认1800000毫秒(30分钟)
- redis.minEvictableIdleTimeMillis=300000
- #每次释放连接的最大数目,默认3
- redis.numTestsPerEvictionRun=1024
- #逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
- redis.timeBetweenEvictionRunsMillis=30000
- #是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
- redis.testOnBorrow=true
- #在空闲时检查有效性, 默认false
- redis.testWhileIdle=true
对于springboot框架来说,可以使用加入相关注解将配置文件解析成对应的对象,方便在代码中使用
- package com.example.springbootredis.config;
- import lombok.Data;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.PropertySource;
- import redis.clients.jedis.JedisPool;
- import redis.clients.jedis.JedisPoolConfig;
- import redis.clients.jedis.Protocol;
- @Configuration
- //redis前缀
- @ConfigurationProperties(prefix = "redis")
- //配置文件内容
- @PropertySource("classpath:/config/redis.properties")
- @Data
- public class RedisConfig {
- private Logger logger = LoggerFactory.getLogger(RedisConfig.class);
- /**
- * Matser的ip地址
- */
- private String host;
- /**
- * 端口号
- */
- private Integer port;
- /**
- * 密码
- */
- private String password;
- /**
- * 客户端连接超时时间,单位毫秒,默认是2000
- */
- private Integer timeout;
- /**
- * 最大空闲数
- */
- private Integer maxIdle;
- /**
- * 控制一个pool可分配多少个jedis实例,如果是jedis 2.4以后用该属性,2.4之前用的redis.maxActive
- */
- private Long maxTotal;
- /**
- * 最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
- */
- private Long maxWaitMillis;
- /**
- * 连接的最小空闲时间 默认1800000毫秒(30分钟)
- */
- private Long minEvictableIdleTimeMillis;
- /**
- * 每次释放连接的最大数目,默认3
- */
- private Long numTestsPerEvictionRun;
- /**
- * 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
- */
- private Long timeBetweenEvictionRunsMillis;
- /**
- * 是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
- */
- private Boolean testOnBorrow;
- /**
- * 在空闲时检查有效性, 默认false
- */
- private boolean testWhileIdle;
- @Override
- public String toString() {
- return String.format("RedisConfig[host=%s,port=%s,password=%s,timeout=%s]",
- host, port, password, timeout);
- }
- }
这里主要使用了@Configuration,@ConfigurationProperties(prefix = "redis"),@PropertySource("classpath:/config/redis.properties")三个注解,springboot以前的版本是使用
@Configuration,@ConfigurationProperties(prefix = "redis",locations="classpath:/config/redis.properties")
2、对于一些简单的配置属性可以放在application文件中,在代码中使用@Value注解来获取,如
- @Value("${spring.redis.host}") String host
springboot 2.1.3.RELEASE版本解析.properties文件配置的更多相关文章
- java解析properties文件
在自动化测试过程中,经常会有一些公用的属性要配置,以便后面给脚本使用,我们可以选择xml, excel或者json格式来存贮这些数据,但其实java本身就提供了properties类来处理proper ...
- Python:解析properties文件
在项目中遇到解析properties的情况,而Python中正好没有解析properties文件的现成模块,于是从网上找到了这个脚本,有一些小地方修改了一下 原博客: Python读写properti ...
- Springboot 2.1.1.RELEASE 版本 session保存到MySQL里面
1,pom.xml添加依赖: <!-- 数据库session管理 --> <dependency> <groupId>org.springframework.ses ...
- SpringBoot在logback.xml中读取application.properties中配置的日志路径
1.在springboot项目中使用logback记录日志,在logback.xml中配置日志存储位置时读取application.properties中配置的路径,在 logback.xml中配置引 ...
- QT在release版本产生pdb文件
##环境说明 QtCreator QtLibrary 编译器 Qt Creator 2.7.0 4.8.4-msvc msvc9.0(VS2008) ##背景说明 >项目中需要对发布版本追踪崩溃 ...
- 【Quartz】Spring Boot使用properties文件配置Quartz
(1)在resource目录下新建quartz.properties文件 #============================================================== ...
- 1. Spring基于xml加载和读取properties文件配置
在src目录下,新建test.properties配置文件,内容如下 name=root password=123456 logArchiveCron=0/5 * * * * ? 一种是使用sprin ...
- log4j用properties文件配置,无法应用过滤器的解决方法
properties文件仍然有错误 log4j:WARN Failed to set property [filter] to value "org.apache.log4j.varia.L ...
- spring 配置文件中使用properties文件 配置
配置Bean载入properties文件: <bean id="propertyPlaceholderConfigurer" class="org.springfr ...
随机推荐
- 百度地图Canvas实现十万CAD数据秒级加载
背景 前段时间工作室接到一个与地图相关的项目,我作为项目组成员主要负责地图方面的设计和开发.由于地图部分主要涉及的是前端页面的显示,作为一名Java后端的小白,第一次写了这么多HTML和JavaScr ...
- Android Studio安卓学习笔记(二)Android项目结构
上一篇代码,我们学习了Android的功能以及如何用Android Studio开发第一个安卓程序.下面就要介绍Android项目结构.为日后学习打基础. 一:Android项目结构 打开MyFris ...
- Android定时锁屏功能实现(AlarmManager定时部分)
菜鸟入坑记——第一篇 关键字:AlarmManager 一.AlarmManager简介: 参考网址:https://www.jianshu.com/p/8a2ce9d02640 参考网 ...
- 分布式唯一ID生成算法-雪花算法
在我们的工作中,数据库某些表的字段会用到唯一的,趋势递增的订单编号,我们将介绍两种方法,一种是传统的采用随机数生成的方式,另外一种是采用当前比较流行的“分布式唯一ID生成算法-雪花算法”来实现. 一. ...
- P1415 拆分数列 DP
传送门: 题意: 将一个数字串分成许多不同的小串,使得这些小串代表的数字严格递增,要求最后一个数字尽可能地小. 然后满足字典序尽可能大. 思路: 由于最后一个数字要尽可能地小,所以先处理出每个数的L[ ...
- yzoj P2350 逃离洞穴 题解
题意 跑两边spfa的水题,注意判断有人才取最大值 代码 #include<bits/stdc++.h> using namespace std; inline int read(){ i ...
- 对git使用的初步总结
使用git也才一周多,就已经深深爱上这款软件了. 之前公司一直用的是clearcase,一款老到除了公司内部的人和曾经开发这款软件的人,估计再也不会有人知道了吧! (当然也许还会有其他公司也会使用,因 ...
- WordCount2.2
说明: 合作者:201631062507 201631062526(学号) 代码地址:https://gitee.com/WordCountMC/WordCountTeam 本次作业链接:https ...
- 【Offer】[62] 【圆圈中最后剩下的数字】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 牛客网刷题地址 ...
- 【LeetCode】105#从前序与中序遍历序列构造二叉树
题目描述 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9 ...