Reputation: 221
I have this structure
project (module.pom)
- connection (module.jar)
- src/main/java
-com.mycompany.connection
-connectionBD.class
- ...
- pom.xml
- person (module.jar)
- src/main/java
- com.mycompany.person
-personApplication.class
- com.mycompany.person.controller
-...
- com.mycompany.person.model
-...
- src/main/resources
- ...
- pom.xml
pom.xml
my connectionBD.class class is this.
@Configuration
public class connectionBD {
@Bean
public MongoDatabaseFactory mongoDatabaseFactory(){
return new SimpleMongoClientDatabaseFactory("mongo://localhost:27017/lydsam");
}
@Bean
public MongoTemplate mongoTemplate() {
return new MongoTemplate(mongoDatabaseFactory());
}
}
and my PersonApplication.class class that is in another module.
@SpringBootApplication(scanBasePackages = { "com.mycompany.person", "com.mycompany.connection" })
public class PersonApplication {
public static void main(String[] args) {
try {
SpringApplication.run(PersonApplication.class, args);
} catch (Exception e) {
System.out.println("Error: "+ e.getMessage());
}
}
}
Error message
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoTemplate' defined in class path resource [com/mycompany/connection/connectionBD.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.mongodb.core.MongoTemplate]: Factory method 'mongoTemplate' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongoDatabaseFactory' defined in class path resource [com/mycompany/connection/connectionBD.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.mongodb.MongoDatabaseFactory]: Factory method 'mongoDatabaseFactory' threw exception; nested exception is java.lang.IllegalArgumentException: The connection string is invalid. Connection strings must start with either 'mongodb://' or 'mongodb+srv://
Upvotes: 2
Views: 4773
Reputation: 1423
Connection strings must start with either 'mongodb://' or 'mongodb+srv://
You need to edit. mongo
-> mongodb
SimpleMongoClientDatabaseFactory
@Configuration
public class connectionBD {
@Bean
public MongoDatabaseFactory mongoDatabaseFactory(){
return new SimpleMongoClientDatabaseFactory("mongodb://localhost:27017/lydsam");
}
}
Upvotes: 1