java - Redis模型注释中数据类中的环境变量
问题描述
无法在模型类 @Hashkey Redis 注释中指定动态环境变量。
模型:
@RedisHash("${spring.redis.namespace}:Book")
public class Book {
@Id
private String id;
private String name;
}
我的 application.properties 文件:
spring.redis.namespace=local
结果键是 "${spring.redis.namespace}:Book" 而不是 local:Book
谁能帮我解决这个问题?
解决方案
请使用键空间来做到这一点。有两种方法。我使用一种方法来完成您的要求。
@Configuration
@EnableRedisRepositories(keyspaceConfiguration = MyKeyspaceConfiguration.class)
public class ApplicationConfig {
@Value("${spring.redis.namespace}:Book")
String myKey;
//... RedisConnectionFactory and RedisTemplate Bean definitions omitted
public static class MyKeyspaceConfiguration extends KeyspaceConfiguration {
@Override
protected Iterable<KeyspaceSettings> initialConfiguration() {
return Collections.singleton(new KeyspaceSettings(Book.class, myKey));
}
}
}
推荐阅读
- arrays - 如何返回满足给定谓词的 Dictionary 值?
- wordpress - 使用插件创建 Wordpress Docker 映像
- angular - 我收到此错误,指出我找不到模块
- apache-beam - 管道的额外输入
- sql - 如何根据另一个表多次更新表
- python-3.x - Python:搜索 tkinter 树视图记录。点击搜索后如何跳转到标签记录?
- java - 如何在 Java 中获取 JSONpath 的所有输出路径,以便用它们自己的函数替换现有值
- macos - Mac OS 终端找不到命令
- node.js - 节点js控制器如何保存对象数组的数据
- jq - 将一个对象合并到 json 文件的另一个对象中