MongoAutoConfiguration 不创建 MongoClient bean
MongoAutoConfiguration does not create MongoClient bean
我刚看完
我正在尝试像这样实现它。但我总是得到
Field mongoClient in MorphiaAutoConfiguration required a bean of type 'com.mongodb.MongoClient' that could not be found.
如果我对文档的理解正确,MongoAutoConfiguration 应该会自动创建一个 MongoClient bean。
因为我没有停用此配置,所以应该加载它,因为我的 Main class 上的 @SpringBootApplication 注释。我的错误在哪里?
如果我使用 Morphia 2.2.6,一切正常。为了以防万一有人想知道细节,我会在这里解释一下一直困扰着我的事情。
我的旧版本使用 'dev.morphia.morphia:core:1.6.1'
而这个 class
import com.mongodb.MongoClient; // Bad example; this code will not run!
import dev.morphia.Datastore;
import dev.morphia.Morphia;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MorphiaAutoConfiguration {
@Autowired
private MongoClient mongoClient; // will not be created from MongoAutoConfiguration !!!!!
@Bean
public Datastore datastore() {
return new Morphia().createDatastore(mongoClient, "mongodb");
}
}
现在我正在使用 'dev.morphia.morphia:morphia-core:2.2.6'
和
import com.mongodb.client.MongoClient;
import dev.morphia.Datastore;
import dev.morphia.Morphia;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MorphiaAutoConfiguration {
@Autowired
private MongoClient mongoClient; // created from MongoAutoConfiguration
@Bean
public Datastore datastore() {
return Morphia.createDatastore(mongoClient, "mongodb");
}
}
请注意,MongoClient 来自另一个包。所以我的服务提供了一个 com.mongodb.client.MongoClient
Bean 但没有 com.mongodb.MongoClient
Bean,因此我很困惑。
我刚看完
我正在尝试像这样实现它。但我总是得到
Field mongoClient in MorphiaAutoConfiguration required a bean of type 'com.mongodb.MongoClient' that could not be found.
如果我对文档的理解正确,MongoAutoConfiguration 应该会自动创建一个 MongoClient bean。 因为我没有停用此配置,所以应该加载它,因为我的 Main class 上的 @SpringBootApplication 注释。我的错误在哪里?
如果我使用 Morphia 2.2.6,一切正常。为了以防万一有人想知道细节,我会在这里解释一下一直困扰着我的事情。
我的旧版本使用 'dev.morphia.morphia:core:1.6.1'
而这个 class
import com.mongodb.MongoClient; // Bad example; this code will not run!
import dev.morphia.Datastore;
import dev.morphia.Morphia;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MorphiaAutoConfiguration {
@Autowired
private MongoClient mongoClient; // will not be created from MongoAutoConfiguration !!!!!
@Bean
public Datastore datastore() {
return new Morphia().createDatastore(mongoClient, "mongodb");
}
}
现在我正在使用 'dev.morphia.morphia:morphia-core:2.2.6'
和
import com.mongodb.client.MongoClient;
import dev.morphia.Datastore;
import dev.morphia.Morphia;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MorphiaAutoConfiguration {
@Autowired
private MongoClient mongoClient; // created from MongoAutoConfiguration
@Bean
public Datastore datastore() {
return Morphia.createDatastore(mongoClient, "mongodb");
}
}
请注意,MongoClient 来自另一个包。所以我的服务提供了一个 com.mongodb.client.MongoClient
Bean 但没有 com.mongodb.MongoClient
Bean,因此我很困惑。