当前位置: 首页 > news >正文

淄川区住房和城乡建设局网站互联网保险平台哪家最好

淄川区住房和城乡建设局网站,互联网保险平台哪家最好,最好的flash网站,wordpress怎么调用分类的文章我想要的效果是#xff0c;一个类统一管理多数据源#xff0c;我传个参数进去#xff0c;它就能返回我对应的mongotemplate 但是根据mongbodb 多数据源的关键词#xff0c;找不到我想要的效果。 网上大多都是明确知道自己是几个数据源#xff0c;然后每个数…我想要的效果是一个类统一管理多数据源我传个参数进去它就能返回我对应的mongotemplate 但是根据mongbodb 多数据源的关键词找不到我想要的效果。 网上大多都是明确知道自己是几个数据源然后每个数据源具体配置然后业务代码调用的时候直接注入不同的数据源这样的话不太利于以后的数据库扩容。 目录 网上找到的多数据源写法 自用易扩展的多数据源写法 比如如下的这种我在网上找到的写法。 网上找到的多数据源写法 配的时候是这样的 spring:data:mongodb:primary:uri: mongodb://localhost:27017/primarysecondary:uri: mongodb://localhost:27017/secondary 写配置class Configuration public class PrimaryMongoConfig {BeanPrimaryConfigurationProperties(prefix spring.data.mongodb.primary)public MongoClient primaryMongoClient() {return MongoClients.create();}PrimaryBean(name primaryMongoTemplate)public MongoTemplate primaryMongoTemplate() {return new MongoTemplate(primaryMongoClient(), primary);} }Configuration public class SecondaryMongoConfig {BeanConfigurationProperties(prefix spring.data.mongodb.secondary)public MongoClient secondaryMongoClient() {return MongoClients.create();}Bean(name secondaryMongoTemplate)public MongoTemplate secondaryMongoTemplate() {return new MongoTemplate(secondaryMongoClient(), secondary);} } 这样注入了2个Bean Service public class ProductService {AutowiredQualifier(secondaryMongoTemplate)private MongoTemplate mongoTemplate;public void saveProduct(Product product) {mongoTemplate.save(product);} } 通过标明名称的方式来注入具体的数据源。 这种有个坏处就是以后如果想扩展数据库就必须来个类似于thirdMongoTemplate的玩意然后需要写个switchCase的东西返回具体的mongoTemplate 所以我需要自己写个符合我需求的mongoTemplate的聚集类。 自用易扩展的多数据源写法 我的设计是多数据源以配置文件里数组的方式进行传入 如下 spring.data.mongodb.sources[0].urlmongodb://localhost:27017 spring.data.mongodb.sources[0].namemongodb_0 spring.data.mongodb.sources[0].dbNamemyTest spring.data.mongodb.sources[1].urlmongodb://localhost:27017 spring.data.mongodb.sources[1].namemongodb_1 spring.data.mongodb.sources[1].dbNamemyTest_1 我现在暂时设置了2个数据源url为真实链接dbName为数据库名称name为我之后要获取这玩意设置的key名称。不用拘泥于这些名字都是我自定义出来的。 对应这些配置我定义了一个配置类去接。 Data Component ConfigurationProperties(prefix spring.data.mongodb) public class MongoConfig {//sources跟配置文件的键名对应上如果配置文件不叫这个也跟着换下private ListMongoSource sources; } 因为配的是数组对象也设置下该对象 Data public class MongoSource {private String name;private String url;private String dbName; } Data 是lombada插件的 然后构造一下我想要的管理多数据源的类 public class MongoFactory {// 这里的修饰符自己定吧按你自己的需求private MapString, MongoTemplate dbMap new HashMap();public MongoFactory() {}public void init(MongoConfig config) {// 初始化多数据源的map吧for (MongoSource item : config.getSources()) {MongoClient client MongoClients.create(item.getUrl());dbMap.put(item.getName(), new MongoTemplate(client, item.getDbName()));}}public MongoTemplate getTemplate(String dbName) {return dbMap.get(dbName);} } 这里有个很坑的地方new MongoTemplate(client, item.getDbName())这里的第2个参数是指链接里要填的dataBase名称别乱填了 将这个类进行注册 Configuration public class BeanFactoryConfig {//引入配置Resource private MongoConfig config;//注册一下我自己造的factoryBeanpublic MongoFactory mongoFactory() {MongoFactory factory new MongoFactory();factory.init(config);return factory;} } 进行使用直接进行注入 Resource private MongoFactory factory; 比如说判断该数据源是否存在某集合  boolean flag factory.getTemplate(name).collectionExists(collectionName); factory.getTemplate(name) 根据name可以从map拿到对应的数据源。 以上我的需求就实现完毕。
http://www.yutouwan.com/news/472030/

相关文章:

  • 怎么做网站链接爆破wordpress密码
  • 大连网站建设找哪家好熊岳网站在哪做
  • 佛山网站建设原创在线美图
  • 中国建设银行抚州分行网站网页设计参考书籍
  • 新泰网站开发建一个论坛网站要多少钱
  • 网站建站金融模板微商城建设
  • 宣城市住房和城乡建设局网站设计手机网站页面尺寸大小
  • 大学生网站开发接单怎么打开wordpress
  • 成都网站建设著名公司做网络推广怎么找客户
  • 北京做网站的大公司上海新闻综合频道直播
  • 中国医院建设协会网站首页长沙装修公司联系电话
  • 什么网站做品牌特卖2015年做那个网站致富
  • 毕业生网站建设方案书棋牌软件开发
  • 企业网站seo案例分析中英文版网站建设
  • 佛山市企业网站建设平台成都网站建设收费明细
  • 网站优化招商网站建设龙头股
  • 自己做的宫崎骏动漫网站wordpress游客发帖插件
  • wordpress网站文件管理wordpress如何设置注册用户名大于4个字符
  • 深圳做微信网站毛绒玩具东莞网站建设
  • 烟台网站开发丹东做网站的公司
  • 室内设计网站知乎网上举报平台
  • 一学一做教育视频网站新浪云 wordpress
  • 淘宝客网站做百度推广鹤壁seo推广
  • 凡客vancl的网站标题网站建设与管理维护
  • 十大电子游戏平台网站常平网站建设公司
  • 给工厂做代加工上海专业seo
  • 网站开发描述wordpress邀请码教程
  • 网站有图片的验证码是怎么做的网站导航栏设计要求
  • 江西建设安全网站重庆设计集团
  • 烟台百度网站排名资讯wordpress主题