我在stackoverflow发现了很多问题。但都是几年前的事了。希望找到最新的解决方案。
我在自己的类中扩展simplemongorepository以添加一些自定义方法
这是我的密码。mongohelper.java文件
package com.customlibrary.mongodblibrary.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.repository.query.MongoEntityInformation;
import org.springframework.data.mongodb.repository.support.SimpleMongoRepository;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import java.io.Serializable;
@Component
public class MongoHelper<T, ID extends Serializable> extends SimpleMongoRepository<T, ID> implements
CustomerRepository<T , ID> {
/**
* Creates a new {@link SimpleMongoRepository} for the given {@link MongoEntityInformation} and
{@link MongoTemplate}.
*
* @param metadata must not be {@literal null}.
* @param mongoOperations must not be {@literal null}.
*/
public MongoHelper(MongoEntityInformation<T, ID> metadata, MongoOperations mongoOperations) {
super(metadata, mongoOperations);
}
public void customMeth(){
System.out.println("test");
}
}
这是我的密码。customerrepository.java文件
@Repository
public interface CustomerRepository<Customer, String> extends MongoRepository<Customer, String> {
}
我已经把这个放进了我的主要
@EnableMongoRepositories(repositoryBaseClass = MongoHelper.class)
但是出现了一个错误
Parameter 0 of constructor in com.customlibrary.mongodblibrary.service.MongoHelper required a bean of type 'org.springframework.data.mongodb.repository.query.MongoEntityInformation' that could not be found.
希望有人能给我一个解决办法
1条答案
按热度按时间nzk0hqpo1#
使用
@NoRepositoryBean
而不是@Component
因为mongohelper应该是要扩展的基类,而不是spring管理的bean