sql >> Database >  >> NoSQL >> MongoDB

Spring boot probeert verbinding te maken met mongo bij het toevoegen van mongo-java-driver maven-afhankelijkheid

Als ik in één zin moet antwoorden, is dat omdat Springboot eigenwijs is. Het zal proberen verbinding te maken met mongo zodra het mongo-afhankelijkheid in je pom opmerkt via AutoConfiguration klassen.

Als u het standaardgedrag wilt overschrijven en Springboot wilt vertellen MongoAutoConfiguration niet uit te voeren, kunt u dit op deze manier doen

@SpringBootApplication(exclude=MongoAutoConfiguration.class)
public class YourMainApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

of je kunt het doen met deze regel in je eigenschappenbestand

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration

Als u een van de bovenstaande handelingen uitvoert, wordt MongoAutoconfiguration uitgesloten van uw toepassing (niet alleen van uw tests). Wat betekent dat wanneer u uw aanvraag start, u geen toegang heeft tot mongo (als dit is wat u wenst).

Sinds SpringbootTest annotatie laadt de hele applicatie-cotext, het zoekt naar deze hoofdapplicatieklasse. Als u sommige automatische configuraties hebt uitgesloten, wordt deze uitgesloten, zelfs in uw tests. Dus je zou niet het probleem hebben met het verbinden met mongo.

Als u deze automatische configuratie alleen in tests wilt uitsluiten (zodat tijdens het uitvoeren van uw toepassing niets wordt gewijzigd), kunt u dit op deze manier doen

@TestPropertySource(properties=
{"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration"})
@SpringBootTest
public class GreetingControllerTests {...}



  1. Hoe om te gaan met deling door nul in het MongoDB-aggregatieraamwerk?

  2. Het wijzigen van de Redis-poort in Docker Compose werkt niet

  3. Meteor met behulp van Azure MongoDB

  4. MongoDB Node gevonden hoe om te gaan met geen resultaten?