admin管理员组文章数量:1435859
目录
一、配置application.yml
二、创建实体类
三、创建Repository
四、新建配置类
1.配置类1 MallPortMongoConfiguration
2.配置类2 RankingsMongoConfiguration
五、调用
一、配置application.yml
配置两个mongodb数据库的uri
spring:
data:
mongodb:
mallport:
uri: mongodb://192.168.56.101:27017/mall-port
database: mall-port
logandreport:
uri: mongodb://192.168.56.101:27017/rankings
database: rankings
二、创建实体类
创建两个实体类 EntityOne,EntityTwo。
/**
*
* @author QLZ
* @date 2021/8/24
*/
@Data
@Document(collection = "entityOne")
public class EntityOne{
@Id
private String mongoId;
private String scopIntegration;
}
/**
*
* @author QLZ
* @date 2021/8/24
*/
@Data
@Document(collection = "entityTwo")
public class EntityTwo{
@Id
private String mongoId;
private String scopIntegration;
}
三、创建Repository
创建操作两个实体类的Repository,分别放在,repository.rankings包下,和repository.reward包下。
四、新建配置类
1.配置类1 MallPortMongoConfiguration
2.配置类2 RankingsMongoConfiguration
@ConfigurationProperties(prefix = "spring.data.mongodb.mallport")注解代表要使用配置文件中以哪个开头的配置。即上面application.yml中的配置。
@EnableMongoRepositories(basePackages = {"repository.reward"},mongoTemplateRef ="mallPortMongoTemplate")
不要忘记此注解,此注解的basePackages属性表示你要操作实体类的Repository的包路径,
mongoTemplateRef属性表示,要使用我们自己指定的mongoTemplate类来充当basePackages 包路径下的mongoTemplate。
说人话就是,自己指定一个mongoTemplate来操作basePackages路径下的Reopsitory。
如果你不添加@EnableMongoRepositories注解。启动时会报错说找不到对应Repository
或者是找不到mongoTemplate。因为你不添加@EnableMongoRepositories的话mongoTemplateRef属性默认的值就是mongoTemplate。见下图源码
五、调用
通过@Autowired自动装配进来对应的Mongotemplate即可实现对不同数据库的操作。
本文标签: BeandefiningmongodbConfigurationXXXRepository
版权声明:本文标题:关于mongodb配置多数据源及Consider defining a bean of type ‘XXXRepository‘ in your configuration. 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1738335541a2076846.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论