spring boot整合mongodb、solr、redis等資料來源
阿新 • • 發佈:2019-01-28
最近專案使用到spring boot,需要整合mongodb、solr、redis等資料來源,使用強大的spring data,還是很簡單的,分享一下經驗。spring boot推崇領配置,所以所有配置在application.properties中完成。mongodb、solr、redis等都是以叢集的方式連線。
application.properties中的配置資訊
#mongodb配置 spring.data.mongodb.host=192.168.8.100 spring.data.mongodb.port=27017 spring.data.mongodb.database=mmia_rd #solr配置 spring.data.solr.host = http://192.168.8.101/solr/ #redis配置 spring.redis.cluster.nodes=192.168.8.101:6381,192.168.8.101:6382,192.168.8.101:6383,192.168.8.102:6384,192.168.8.102:6385,192.168.8.102:6386 spring.redis.cluster.maxRedirects=8 spring.redis.timeout=5000
使用
spring data的Repository介面,使用起來很方便。
mongodb有
public interface MongoRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> { }
solr有
public interface SolrCrudRepository<T, ID extends Serializable> extends SolrRepository<T,簡單的CRUD可以直接使用。命名參照spring data jpa標準命名,可以自動生成查詢語句ID>, PagingAndSortingRepository<T, ID> { }
redis使用
public class RedisTemplate<K, V> extends RedisAccessor implements RedisOperations<K, V>, BeanClassLoaderAware在類中直接注入
@Resource(name="stringRedisTemplate") private ListOperations對redis的操作是使用 RedisTemplate中的<String,String> listValueOperations; @Resource(name="redisTemplate") ValueOperations<Object,Article> valueOperations;
private ValueOperations<K, V> valueOps; private ListOperations<K, V> listOps; private SetOperations<K, V> setOps; private ZSetOperations<K, V> zSetOps;完成的。
對string型別的操作,spring data 已經為我們封裝了
public class StringRedisTemplate extends RedisTemplate<String, String> {如果是簡單使用String型別,可以直接注入使用。