提示信息

多个MongoTemplate, 如何指定注入的是哪个?

醒不 已关注

在Spring框架中,如果你定义了多个相同类型的Bean(例如MongoTemplate),并且需要在其他地方注入其中一个,可以使用@Qualifier注解指定你想要注入哪一个。

当你创建MongoTemplate Bean时,可以给每个Bean指定一个名称:

  1. @Configuration
  2. public class MongoConfig {
  3. // ...
  4. @Bean(name = "mongoTemplate1")
  5. public MongoTemplate mongoTemplate1() { /* ... */ }
  6. @Bean(name = "mongoTemplate2")
  7. public MongoTemplate mongoTemplate2() { /* ... */ }
  8. }

然后,在需要注入MongoTemplate的地方,使用@Qualifier注解指定Bean的名称:

  1. @Service
  2. public class MyService {
  3. private final MongoTemplate mongoTemplate;
  4. public MyService(@Qualifier("mongoTemplate1") MongoTemplate mongoTemplate) {
  5. this.mongoTemplate = mongoTemplate;
  6. }
  7. // ...
  8. }

这样,mongoTemplate1就会被注入到MyService中。如果你需要注入mongoTemplate2,只需将@Qualifier的值改为"mongoTemplate2"即可。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
醒不 关注 已关注

最近一次登录:2023-09-25 18:01:39   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图