当前位置: 首页 > 知识库问答 >
问题:

Spring boot mongoDB自动连线空存储库

慕意致
2023-03-14

我正在试验Spring和MongoDB。在我的项目中,我有一个存储库和一个有调度方法的服务。问题是,存储库没有自动运行,它总是为空。

  • Autowire在主应用程序类中正常工作(通过实现CommandLineRunner进行测试)

我错过什么了吗?

目录

机器应用。JAVA

@SpringBootApplication
@EnableScheduling
public class MachineApplication {
    public static void main(String[] args) {
        SpringApplication.run(MachineApplication.class, args);
    }
}

工人JAVA

@Service
public class Worker {

    @Autowired
    private LineDataRepository lineDataRepository;
    @Autowired
    private LineRepository lineRepository;
    ...
    public Worker() {
        System.out.println("--------------------------------");
        System.out.println(lineDataRepository);//null
        System.out.println(lineRepository);//null
    }
}

LineDataRepository

@Repository
public interface LineDataRepository extends MongoRepository<LineData, String> {
}

共有2个答案

韩征
2023-03-14

我认为您还没有创建mongoDbFactorymongoTemplatebean,没有这个bean,就无法连接到您的mongoDB。以下是配置

@Configuration
public class MongoConfiguration {

    @SuppressWarnings("deprecation")
    @Bean
    public MongoDbFactory mongoDbFactory() throws Exception {
        UserCredentials userCredentials = new UserCredentials("admin", "password");
        return new SimpleMongoDbFactory(new Mongo(), "myspring", userCredentials);
    }

    @Bean
    public MongoTemplate mongoTemplate() throws Exception {
        return new MongoTemplate(mongoDbFactory());
    }
} 
颜高朗
2023-03-14

@enablemongoreposities添加到MachineApplication,让它检测Mongo存储库。

看到这里

 类似资料:
  • 我与SpringBoot和JPA合作。我收到一个无法完成的错误。 这是我的主要课程: 这是我的班级失败的原因: 这是类: 这是错误消息: 错误创建bean的名称'请求LoggerImpl':注入自动生成的依赖失败; 无法自动关联字段:专用com。存储库。请求logdao.com。记录器。impl。RequestLoggerImpl。请求logdao;嵌套的异常是org。springframewor

  • 问题内容: 我在将环境连接到Spring项目时遇到问题。在这个班上 环境始终为null。 问题答案: 自动装配发生的时间比所谓的晚(由于某种原因)。 一种解决方法是实现并依赖Spring调用方法:

  • 我在RMI服务中的@autowired对象上收到一个空指针异常。我创建了一个简单的(我认为)服务,可以通过RMI从客户端调用。代码如下 heartbeat-servlet.xml代码如下: 我的指定组件扫描的WebConfiguration文件如下: My HeartbeatImpl.java在包中com.edvs.service所以应该扫描它,并且应该实例化@autowyah HostStatu

  • 我试图在MessageBoxDAO类中自动连接jdbctemplate(我想它工作得很好),然后我在控制器中创建自动连接的DAO对象来获取最新的ID,以防止获取重复的ID,并从它结束的地方开始。 代码如下: 由于我未知的原因,“dao”为空,因此无法构造计数器,程序停止 我刚接触spring boot,我知道这可能是一个非常简单的问题,但有人能指出我错在哪里吗?

  • 我正在努力学习一本书名为《SpringMVC初学者指南》的书,我一直在努力创建存储库对象。我不断地得到一个BeanCreationException。不知道我还错过了什么。我想知道是否有人能帮我解决这个问题。 请在下面找到我的代码。谢谢 BeanCreationException XML文件: ProductCrontroller: 产品存储库: InMemoryProductRepository