java找不到类型的属性
当运行我的代码从Solr获取数据时,它无法编译,出现异常:
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property findSubscriptions found for type Subscriptions!
我没有发现命名不一致或缺少方法。 代码用于从Solr获取数据。我已经创建了一个文档,Solr正在“http://localhost:8983/solr/”上运行
(一)
@RestController
public class SubscriptionsController {
@Autowired
SolrSubscriptionsRepository solrSubscriptionsRepository;
@GetMapping("/subscriptions/{subscriptionId}")
public Subscriptions getSubscriptions(@PathVariable Long subscriptionId) {
solrSubscriptionsRepository.findSubscriptions(subscriptionId);
return solrSubscriptionsRepository.findSubscriptions(subscriptionId);
}
(二)
@SolrDocument(collection= "Subscriptions")
public class Subscriptions {
@Id
@Indexed(name="subscription_id", type="long")
private Long subscriptionId;
@Indexed(name="subscription_query", type="string")
private String subscriptionQuery;
@Indexed(name="subscription_type", type="string")
private String subscriptionType;
}
(三)
public interface SolrSubscriptionsRepository extends
SolrCrudRepository<Subscriptions, Long>{
Subscriptions findSubscriptions(Long subscriptionId);
}
(四)
@Configuration
@EnableSolrRepositories(basePackages="com.test.repository")
@ComponentScan
public class SolrConfig {
@Value("spring.data.solr.host") String solrURL;
@Bean
public SolrClient solrClient() {
return new HttpSolrClient.Builder(solrURL).build();
}
@Bean
public SolrTemplate solrTemplate(SolrClient solrClient) throws Exception {
return new SolrTemplate(solrClient);
}
}
(五)
应用程序。属性
spring.data.solr.host=http://localhost:8983/solr/
# 1 楼答案
解决方案1
解决方案2: