Quyết định lưu trữ proxy được tạo cho giao diện kho lưu trữ Dữ liệu mùa xuân chỉ được thực hiện do thiết lập cấu hình của bạn. Giả sử bạn có cấu hình sau:
@Configuration
@EnableJpaRepositories("com.acme.foo")
@EnableMongoRepositories("com.acme.foo")
class Config { }
Điều này sẽ nổ tung vào một lúc nào đó khi các giao diện trong gói com.acme.foo
đều được phát hiện bởi cơ sở hạ tầng MongoDB và JPA. Để giải quyết vấn đề này, cả hỗ trợ JavaConfig và XML đều cho phép bạn xác định các bộ lọc bao gồm và loại trừ để bạn có thể sử dụng các quy ước đặt tên, chú thích bổ sung hoặc những thứ tương tự:
@Configuration
@EnableJpaRepositories(basePackages = "com.acme.foo",
includeFilters = @Filter(JpaRepo.class))
@EnableMongoRepositories(base Packages = "com.acme.foo",
includeFilters = @Filter(MongoRepo.class))
class Config { }
Trong trường hợp này, hai chú thích @JpaRepo
và @MongoRepo
(do bạn tạo) sẽ được sử dụng để kích hoạt phát hiện có chọn lọc bằng cách chú thích các giao diện kho lưu trữ có liên quan với chúng.
Việc phát hiện tự động thực sự là một điều không thể vì thật khó để biết bạn đang nhắm mục tiêu đến cửa hàng nào chỉ từ khai báo giao diện kho lưu trữ và tại thời điểm khi các định nghĩa bean được tạo, chúng tôi thậm chí không biết về bất kỳ cơ sở hạ tầng nào nữa (an EntityManager
hoặc tương tự) chưa.