MongoDb и Spring Boot - ошибка при создании источника данных. - PullRequest
0 голосов
/ 02 августа 2020
  • Я настроил контейнер Docker с mongoDB.

  • Затем я создал pom. xml.

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${version.mapstruct}</version>
        </dependency>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>29.0-jre</version>
        </dependency>

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

При запуске приложения появлялась ошибка:

> Exception encountered during context initialization - cancelling refresh attemp
t: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': Unsati
sfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' d
efined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is o
rg.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org
.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
2020-08-02 20:24:51.308  INFO 117100 --- [           main] ConditionEvaluationReportLoggingListener :

 **Failed to determine a suitable driver class**...
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

server.port=8099

#spring.data.mongodb.authentication-database=admin

spring.data.mongodb.database=mongo-spring

spring.data.mongodb.username=root
spring.data.mongodb.password=root

spring.data.mongodb.host=192.168.99.100
spring.data.mongodb.port=27017

Этой зависимости не должно быть, поскольку Spring boot будет пытаться настроить работу с MongoDb через Абстракция JDB, т.е. он попытается найти драйвер jdb c для MongoDb.

Итак, я не могу использовать в приложении два разных источника данных, например, MySql и MongoDb.

Почему?

Кто-нибудь может пояснить это более наглядно, почему так и можно ли еще найти выход и использовать 2 таких источника данных, конечно, при том, что все это должно быть настроено автоматически и собрано maven?

...