Можно ли переместить реализацию репозитория весенних данных в другую папку (не ту же или подпапку исходного интерфейса)? Если у меня есть интерфейс и реализация в одной папке, все работает нормально. Если я перемещу его, например, с com.app.domain.repo
на com.app.infrastr.repo
, я получу Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property methodName found for type RepoInterfaceName
.
ОБНОВЛЕНИЕ
import com.app.domain.repo
public interface ARepo extends ElasticsearchRepository<A, String>, CustomizedARepo {
}
public interface CustomizedARepo {
List<A> makeSearch(int x);
}
import com.app.infrastr.repo
public class CustomizedARepoImpl implements CustomizedARepo {
private ElasticsearchTemplate elasticsearchTemplate;
public CustomizedARepoImpl(ElasticsearchTemplate elasticsearchTemplate) {
this.elasticsearchTemplate = elasticsearchTemplate;
}
@Override
public List<A> makeSearch(int x){ return null; }
}
И класс конфигурации
@Configuration
@EnableElasticsearchRepositories(basePackages = {"com.app.domain.repo", "com.app.infrastr.repo"})
public class Config{}
Ошибка:
Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property makeSearch found for type ARepo
Если я перемещаю CustomizedARepoImpl
в com.app.domain.repo
, все работает нормально.