У меня есть класс конфигурации для коллекций MongoDB, например:
@Configuration
public class MongoDBConfiguration{
@Bean
public MongoCollection<Document> collection() {
MongoClient mongoClient = MongoClients.create(mongoURI);
MongoDatabase database = mongoClient.getDatabase(mongoDatabase);
return database.getCollection(mongoCollection);
}
}
Затем у меня есть другой класс, где я хочу использовать эту коллекцию. В этом классе я получаю NullPointerException.
@Component
public class ExampleClass {
@Autowired
private MongoCollection<Document> collection;
public void getUser(String userID){
userDoc = collection.find(eq("id", userID)).first();
/*some other logic*/
}
}
И затем у меня есть этот класс, где я хочу его назвать.
@Service
public class RepeatEvent {
@Autowired
MongoCollection<Document> collection;
@Autowired
ExampleClass exampleClass;
@Scheduled(fixedRate = 20000)
public void repeatEvent() {
exampleClass.getUser(userID);
/*some more logic*/
}
}
Если я использую коллекцию в этом последнем классе, я не у меня нет проблем, но на ExcampleClass я делаю. Что я делаю не так?