springboot 2.1.3.RELEASE版本解析.properties文件配置
2024-08-31 05:02:25
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
最新文章
- SharePoint 2013 版本号和相关问题介绍
- nvcc fatal : Cannot find compiler 'cl.exe' in PATH解决方法
- windows7+eclipse+hadoop2.5.2环境配置
- 2016.08.06计算几何总结测试day1
- 返璞归真 asp.net mvc (8) - asp.net mvc 3.0 新特性之 Model
- 开涛spring3(9.3) - Spring的事务 之 9.3 编程式事务
- 经验之谈——gulp使用教程
- Elixir游戏服设计四
- C#Winform使用mysql作为本地数据库
- SpringMVC 无法访问到指定jsp页面可能的原因
- 大数据小视角1:从行存储到RCFile
- nginx性能优化(针对于高并发量仅供参考,并不是方案)
- 学习笔记_J2EE_Mybatis_01_mybatis入门
- Navicat如何导出Excel格式表结构
- J2EE导论 | 疑惑篇
- android中一些特殊字符的使用(如:←↑→↓等箭头符号)
- 详解C#特性和反射(一)
- Delphi根据方法名调用方法
- tispark部署步骤
- SpringBoot 中使用 @Value 为 static 变量赋值
热门文章
- 带你入门SpringCloud服务发现 | Eurka搭建和使用
- URAL-1982-Electrification Plan最小生成树或并查集
- CodeForces -Codeforces Round #496 (Div. 3) E2. Median on Segments (General Case Edition)
- POJ-3259 Wormholes (ballman_ford 判负环)
- 51nod 1376 最长递增子序列的数量(不是dp哦,线段树 +  思维)
- 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入
- Java 编程语言中很少被人了解的特性-statement label
- 阿里短信封装SDK TP3.2
- text2pcap: 将hex转储文本转换为Wireshark可打开的pcap文件
- 如何让C/S应用支持多端(PC、Android、iOS)同时登录?