我让Spring Redis使用spring-data-redis
和所有默认配置工作,比如localhost
defaultport
等等。
现在,我试图通过在application.properties
文件中配置它来进行相同的配置。但是我不知道应该如何创建bean,准确地读取我的属性值。
@EnableRedisHttpSession
@Configuration
public class SpringSessionRedisConfiguration {
@Bean
JedisConnectionFactory connectionFactory() {
return new JedisConnectionFactory();
}
@Autowired
@Bean
RedisCacheManager redisCacheManager(final StringRedisTemplate stringRedisTemplate) {
return new RedisCacheManager(stringRedisTemplate);
}
@Autowired
@Bean
StringRedisTemplate template(final RedisConnectionFactory connectionFactory) {
return new StringRedisTemplate(connectionFactory);
}
}
spring.redis.sentinel.master=themaster
spring.redis.sentinel.nodes=192.168.188.231:26379
spring.redis.password=12345
我所尝试的,
@propertysource
,然后注入@value
并获取值。但我不想这么做,因为这些属性不是我定义的,而是来自Spring。redisproperties
应该对我有所帮助,但仍然不知道如何确切地告诉Spring从属性文件中读取。您可以使用@propertysource
从application.properties或其他所需的属性文件中读取选项。请看PropertySource使用示例和使用spring-redis-cache的工作示例。或者看看这个小样本:
@Configuration
@PropertySource("application.properties")
public class SpringSessionRedisConfiguration {
@Value("${redis.hostname}")
private String redisHostName;
@Value("${redis.port}")
private int redisPort;
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory factory = new JedisConnectionFactory();
factory.setHostName(redisHostName);
factory.setPort(redisPort);
factory.setUsePool(true);
return factory;
}
@Bean
RedisTemplate<Object, Object> redisTemplate() {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<Object, Object>();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
return redisTemplate;
}
@Bean
RedisCacheManager cacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate());
return redisCacheManager;
}
}
目前(2015年12月),application.properties
中的spring.redis.sentinel选项对redissentinelconfiguration
的支持有限:
请注意,目前只有杰迪斯和生菜生菜支持雷迪斯哨兵。
你可以在官方文件中读到更多关于这一点的信息。
问题内容: 我让Spring Redis使用所有默认配置(例如default 等)。 现在,我试图通过在文件中进行配置来进行相同的配置。但是我无法弄清楚应该如何准确地读取属性值来创建bean。 Redis配置文件 application.properties中的标准参数 spring.redis.sentinel.master = themaster spring.redis.sentinel.n
我无法找出是否可以在pom.xml文件中读取Spring的application.properties中的任何数据。 拜托,有人能帮我吗? 谢谢你。
我正在学习使用带有Spring Boot的Apache Camel。我正在制作一个演示,我正在从FTP位置拾取文件并将其放置到不同的位置。 当我在方法中直接使用ftps uri时,路由会起作用。但是,当我尝试在应用程序中存储ftps位置时。属性文件,并从那里访问它,我得到一个标记无效的错误。 这工作原理: 这不会: 应用属性文件 骆驼路线 这是我得到的错误: pom。xml 有人能指出我哪里错了吗
问题内容: 只是因为一个简单,易于表达的陈述使我的脸上有些错误,所以我有点头疼。 我有一个名为strings.json的json文件,如下所示: 我现在想读取json文件。我发现了以下这些语句,但是不起作用: 控制台上显示的错误是这样的: 已编辑 从更改为 并得到了这个: 问题答案: 该方法(“ load”中没有“ s”)可以直接读取文件: 您正在使用方法,该方法仅用于 字符串 参数。 编辑:新消
我有一个名为Strings.json的json文件,如下所示: 我想读取json文件,现在仅此而已。我发现了这些说法,但它不起作用: 控制台上显示的错误是: 已编辑 从更改为 得到了这个:
一个看起来简单、容易的陈述却让我犯了一些错误。 我有一个名为strings.json的JSON文件,如下所示: 我想阅读JSON文件,目前仅此而已。我发现了这些语句,但它不起作用: 控制台上显示的错误如下: 如果我使用<code>json。加载而不是<code>json。加载,我得到以下错误: