springboot配置多数据源的实例(MongoDB主从)
程序员文章站
2023-12-17 21:28:34
相信看过上一篇文章的小伙伴已经知道了, 这章要讲的就是mongodb主从配置。
在这边文章中,你将要学到的是在项目中配置主从数据库,并且兼容其他数据库哟。。这些都是博主项...
相信看过上一篇文章的小伙伴已经知道了, 这章要讲的就是mongodb主从配置。
在这边文章中,你将要学到的是在项目中配置主从数据库,并且兼容其他数据库哟。。这些都是博主项目中需要并且比较重要的知识哦~
好了,废话不多说,直接进主题。
1.pom依赖
<span style="white-space:pre"> </span><dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-mongodb</artifactid> </dependency>
2.配置文件的编写
## master mongo master: mongodb: host: localhost port: 27017 database: db_ops ## slave1 mongo slave1: mongodb: host: localhost port: 27017 database: db_note ## zookeeper注册中心
3.配置文件的编写
在mongodb主从配置中,配置有所不同
1.配置父类abstractmongoconfigure
public abstract class abstractmongoconfigure { private string host, database; private int port; public mongodbfactory mongodbfactory() throws exception { return new simplemongodbfactory(new mongoclient(host, port), database); } /* * factory method to create the mongotemplate */ abstract public mongotemplate getmongotemplate() throws exception; public string gethost() { return host; } public void sethost(string host) { this.host = host; } public string getdatabase() { return database; } public void setdatabase(string database) { this.database = database; } public int getport() { return port; } public void setport(int port) { this.port = port; } }
2.主数据库配置
@configuration @enableautoconfiguration(exclude = {mongoautoconfiguration.class, mongodataautoconfiguration.class}) @enablemongorepositories(basepackages = {"com.jx.ops.mapper.mongodb.ops"},mongotemplateref = "opsmongotemplate") @componentscan @configurationproperties(prefix = "ops.mongodb") public class mongomasterconfig extends abstractmongoconfigure { @override @bean(name = "opsmongotemplate") @primary //<span style="color:#ff0000;">重点哦</span> public mongotemplate getmongotemplate() throws exception { return new mongotemplate(mongodbfactory()); } }
3.从数据库配置
@configuration @enableautoconfiguration(exclude = {mongoautoconfiguration.class, mongodataautoconfiguration.class}) @enablemongorepositories(basepackages = {"com.jx.ops.mapper.mongodb.post"},mongotemplateref = "postmongotemplate") @componentscan @configurationproperties(prefix = "post.mongodb") public class mongopostconfig extends abstractmongoconfigure { @override @bean(name = "postmongotemplate") public mongotemplate getmongotemplate() throws exception { return new mongotemplate(mongodbfactory()); } }
到此,主从数据库也讲解完毕,如果有不懂或出bug的小伙伴可以留言我哟。。
以上这篇springboot配置多数据源的实例(mongodb主从)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。