我有简单的结构项目:
com.database.mongodb.config.MongoConfig - @Import中使用的MongoDB配置 com.database.mongodb.repository.ParameterRepository - 扩展MongoRepository的接口 com.server.main.MainClass - 我程序的主类。
我只想在我需要的地方使用我的 ParameterRepository ,例如,在包含 com.server.task.CustomClass 包中的某些任务的自定义类中。我试过了:
@Configuration
@EnableMongoRepositories(basePackages = {"com.database.mongodb.repository"})
public class MongoConfig extends AbstractMongoConfiguration {
@Override
@Bean
public Mongo mongo() throws Exception {
return new MongoClient("localhost:27017");
}
@Override
protected String getDatabaseName() {
return "mydb";
}
}
但它返回NullPointerException。我尝试使用注释@Component创建抽象类Task,但它也不起作用。
我怎样才能使它成为可能?
我的实施:
MongoConfig.class
@Repository
public interface ParameterRepository extends MongoRepository<Parameter, Integer> {
}
ParameterRepository.class
@Import(MongoConfig.class)
@SpringBootApplication
public class SparkServer implements CommandLineRunner {
@Autowired
private WeatherParameterRepo weatherParameterRepo;
...
MainClass.class
null
答案 0 :(得分:0)
您应该将ParameterRepository
移至com.server.main
包裹(或子包裹)。
您还可以将@ComponentScan({"com.database.mongodb.repository", "com.server.main"})
添加到MainClass
课程。