spring properties

本文介绍了如何在Spring框架中操作配置文件,包括将配置值分割为列表、获取配置文件的所有key以及通过注入Environment来获取所有key对应的value。这些技巧对于理解和使用Spring配置非常实用。

1、取一个配置值,分割成list

@Value("#{'${image.product}'.split(',')}")
private List imageProducts;


2、获取配置文件里的所有key

除非自己定义一个property-place-holder,或者自己去读取那个配置文件,否则办不到。


3、获取配置文件里所有key对应的value

注入一个Environment即可,如下:

@Service
@PropertySource(value = "classpath:business_parameter.properties")
public class UnionLoanConstants implements InitializingBean {
    @Autowired
    private Environment environment;

}

Spring 应用中配置 Redis 连接属性,通常通过 `application.properties` 或 `application.yml` 文件进行设置。以下是基于 `application.properties` 的 Redis 配置方式。 ### 3.1 配置基本连接信息 若使用默认的 Redis 单机模式,可以在 `application.properties` 中添加如下配置: ```properties spring.redis.host=127.0.0.1 spring.redis.port=6379 ``` 其中 `spring.redis.host` 表示 Redis 服务器的 IP 地址,`spring.redis.port` 是 Redis 的服务端口,默认为 `6379`。根据实际部署情况修改为主机或云服务器的 IP 地址[^1]。 ### 3.2 配置连接池参数(可选) 为了提高性能并避免频繁创建和销毁连接,建议配置 Redis 连接池。可以通过自定义 `JedisPoolConfig` 来设置最大空闲连接数、最大总连接数等参数。例如: ```properties spring.redis.jedis.pool.max-active=8 spring.redis.jedis.pool.max-idle=4 spring.redis.jedis.pool.min-idle=1 spring.redis.jedis.pool.max-wait=2000ms ``` 这些参数用于控制 Jedis 客户端的连接池行为,确保在高并发场景下 Redis 操作的稳定性和效率[^2]。 ### 3.3 使用 XML 配置 Redis 连接池(适用于传统 Spring 项目) 对于传统的 Spring 项目,可以使用 XML 配置文件引入 `redis.properties` 并配置连接池: ```xml <context:property-placeholder location="classpath:redis.properties"/> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${spring.redis.jedis.pool.max-active}"/> <property name="maxIdle" value="${spring.redis.jedis.pool.max-idle}"/> <property name="minIdle" value="${spring.redis.jedis.pool.min-idle}"/> <property name="maxWaitMillis" value="${spring.redis.jedis.pool.max-wait}"/> </bean> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <constructor-arg index="0" ref="jedisPoolConfig"/> <property name="hostName" value="${spring.redis.host}"/> <property name="port" value="${spring.redis.port}"/> </bean> ``` 该方式通过 XML 声明式地配置了 Jedis 连接池,并将连接池参数与外部属性文件绑定[^4]。 ### 3.4 配置 Redis Cluster(集群模式) 如果使用的是 Redis Cluster 模式,可以在配置类中定义 `RedisClusterConfiguration` 和 `JedisConnectionFactory`: ```java @Configuration public class RedisClusterConfig { @Bean public RedisConnectionFactory connectionFactory() { RedisClusterConfiguration clusterConfig = new RedisClusterConfiguration(Arrays.asList( "192.168.1.101:6379", "192.168.1.102:6379", "192.168.1.103:6379" )); JedisConnectionFactory factory = new JedisConnectionFactory(clusterConfig); // 可选:配置连接池 // JedisPoolConfig poolConfig = new JedisPoolConfig(); // poolConfig.setMaxTotal(8); // poolConfig.setMaxIdle(4); // factory.setPoolConfig(poolConfig); return factory; } @Bean public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory connectionFactory) { return new StringRedisTemplate(connectionFactory); } } ``` 该配置方式支持 Redis 集群部署,并允许进一步定制连接池参数以优化性能[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值