Spring Data Redis(Repositories-CDI integration)
来源:互联网 发布:阿里和淘宝的区别 编辑:程序博客网 时间:2024/05/21 17:05
CDI integration 集成CDI
仓储接口的实例通常都是通过容器来创建的,当使用Spring Data时,自然会选择Spring作为容器。这方面的支持已经想到成熟,可以轻松的建立Spring容器,来创建bean 实例。给Spring Data Redis 配备一个自定义的CDI扩展,使得可以在CDI 环境中使用仓储抽象封装。这个扩展是JAR 的一部分,所有你需要做的就是激活它,将Spring Data Redis JAR放入你的classpath 中。
通过实现一个CDI Producer,为RedisConnectionFactory 和RedisOperations 构建基础设施:
class RedisOperationsProducer { @Produces RedisConnectionFactory redisConnectionFactory() { JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(); jedisConnectionFactory.setHostName("localhost"); jedisConnectionFactory.setPort(6379); jedisConnectionFactory.afterPropertiesSet(); return jedisConnectionFactory; } void disposeRedisConnectionFactory(@Disposes RedisConnectionFactory redisConnectionFactory) throws Exception { if (redisConnectionFactory instanceof DisposableBean) { ((DisposableBean) redisConnectionFactory).destroy(); } } @Produces @ApplicationScoped RedisOperations<byte[], byte[]> redisOperationsProducer(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<byte[], byte[]> template = new RedisTemplate<byte[], byte[]>(); template.setConnectionFactory(redisConnectionFactory); template.afterPropertiesSet(); return template; }}
必要的设置取决于你运行的JavaEE 环境。
Spring Data Redis CDI 扩展将收集所有可用的仓储库作为CDI bean,并在容器请求一个仓储类型的bean时,创建一个Spring Data 仓储的代理:
class RepositoryClient { @Inject PersonRepository repository; public void businessMethod() { List<Person> people = repository.findAll(); }}
Redis 仓储需要RedisKeyValueAdapter 和RedisKeyValueTemplate 的实例。如果这些beans 不存在,Spring Data CDI 的扩展会创建并管理它们。不管怎样,可以提供自己的beans 来配置RedisKeyValueAdapter 和RedisKeyValueTemplate的特定属性。
阅读全文
0 0
- Spring Data Redis(Repositories-CDI integration)
- Spring Data Redis(Redis Repositories)
- Spring Data Redis(Repositories-Keyspaces)
- Spring Data Redis(Repositories-Secondary Indexes)
- Spring Data Redis(Repositories-Time To Live)
- Spring Data Redis(Repositories-Persisting References)
- Spring Data Redis(Redis Repositories running on Cluster)
- Spring Data Redis(Repositories-Object to Hash Mapping)
- Spring Data Redis(Repositories-Queries and Query Methods)
- Spring Data Repositories 使用记录
- Spring Data repositories with multiple databases
- Spring Data JPA repositories using JavaConfig
- redis:spring-data-redis
- Spring Data REST + GemFire + AngularJS Integration
- Hibernate data validator in spring integration
- redis Jredis spring-data-redis
- spring data redis 操作redis
- Spring Data Redis (Redis Support)
- mysql常用语句及实题训练
- CTDB take over代码流程梳理
- Python代码规范(PEP8)问题及解决
- 【转】通过UserAgent判断智能手机(设备,Android,IOS)
- cmd 进入d盘,XP与Win7、8区别
- Spring Data Redis(Repositories-CDI integration)
- 解决R语言xlsx安装遇到问题
- Android Activity横屏、竖屏、全屏
- MySQL索引背后的数据结构及算法原理
- 神经网络压缩(8)Incremental Network Quantization: Towards Lossless CNNs with Low-precision Weights
- Adobe Flash Player安装遇到问题
- centos 7.2 netcat 安装以及使用
- mysql -创建 用户 和 数据库
- vuex