2017-10-21 4 views
1

私はSpringデータmongodbでカスタムレポを実装したいと思います。 Application.java:カスタムMongoDBスプリングデータリポジトリ

@SpringBootApplication 
public class Application implements CommandLineRunner{ 

    @Autowired 
    private CustomerRepositoryCustom repo; 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 

    @Override 
    public void run(String... args) throws Exception { 
     System.out.println(this.repo.customMethod()); 
    } 
} 

マイカスタムリポジトリCustomerRepositoryCustom.java

public interface CustomerRepositoryCustom { 
    List<Customer> customMethod(); 
} 

カスタム実装CustomCustomerRepositoryImpl.java

public class CustomCustomerRepositoryImpl implements CustomerRepositoryCustom { 
     @Autowired 
     private MongoTemplate mongoTemplate; 

     @Override 
     public List<Customer> customMethod() { 
      return this.mongoTemplate.findAll(Customer.class); 
     } 

    } 

コードの構造

-Application.java 
    dal 
    model... 
    repository 
    -CustomCustomerRepositoryImpl.java 
    -CustomerRepositoryCustom.java 

私はそれを構築しようとすると、私はエラーを取得:

**Description**: 
Field repo in socketApp.Application required a bean of type 'socketApp.dal.repository.CustomerRepositoryCustom' that could not be found. 


**Action**: 
Consider defining a bean of type 'socketApp.dal.repository.CustomerRepositoryCustom' in your configuration. 

答えて

3

あなたのリポジトリの春に認識させる必要があります。春のブートアプリケーションの場合、これは一般的に、それによってどこMongoのリポジトリを探し、その後あなたのインターフェースがorg.springframework.data.mongodb.repository.MongoRepositoryを拡張できるようにするに春ブーツを伝える.... ...あなたのアプリケーションにこの注釈を追加することにより、

@EnableMongoRepositories("com.package.path.to.repository") 

が行われます。例えば

public interface CustomerRepositoryCustom extends MongoRepository { 
    List<Customer> customMethod(); 
} 

また、あなたが@RepositoryとあなたのCustomCustomerRepositoryImplに注釈を付けると、それは春ブーツによってスキャンされたパッケージであることを確認することができます。

+0

@Repositoryは正常に動作します。しかし、 @EnableMongoRepositories( "socketApp.dal.repository")が機能していない ファイルへのパス:C:\ Users \ {ユーザー} \ Desktop \ spring-mongodb \ src \ main \ java \ socketApp \ dal \ repository – TomP

関連する問題