启动我的应用程序时出现问题。有人能帮我解决这个问题吗?
Parameter 0 of constructor in com.journaldev.elasticsearch.service.BookServiceImpl required a bean of type 'com.journaldev.elasticsearch.dao.search.BookRepositorySearch' that could not be found.
Action:
Consider defining a bean of type 'com.journaldev.elasticsearch.dao.search.BookRepositorySearch' in your configuration.
总报告
public interface GenericRepository<T, K> {
Map<String, Object> get(final K id);
}
GenericRepositoryImpl
public class GenericRepositoryImpl<T, K extends Serializable> implements GenericRepository<T, K> {
private RestHighLevelClient restHighLevelClient;
private ObjectMapper objectMapper;
public GenericRepositoryImpl(ObjectMapper objectMapper, RestHighLevelClient restHighLevelClient) {
this.objectMapper = objectMapper;
this.restHighLevelClient = restHighLevelClient;
}
@Override
public Map<String, Object> get(K id) {
return null;
}
}
图书仓库搜索
@Component
public interface BookRepositorySearch extends GenericRepository<Book, Long> {}
图书服务
public interface BookService {
Map<String, Object> get(final Long id);
}
图书服务简介
@Service
public class BookServiceImpl implements BookService {
private final BookRepositorySearch bookRepositorySearch;
public BookServiceImpl(BookRepositorySearch bookRepositorySearch) {
this.bookRepositorySearch = bookRepositorySearch;
}
@Override
public Map<String, Object> get(Long id) {
return null;
}
}
如何继承一个类作为接口?
@Component
public interface BookRepositorySearch extends GenericRepository<Book, Long> {}
使用类更改此接口,然后重试。
@Component
public class BookRepositorySearch extends GenericRepository<Book, Long> {}
我用这个配置解决了它。在您的配置文件中查找@EnableAutoConfiguration
。
@Configuration
@EnableJpaRepositories(basePackages = "com.akog02.repostories")
@EntityScan(basePackages = "com.akog02.domain")
@EnableTransactionManagement
@EnableAutoConfiguration
public class WebConfiguration {
}
从您之前的评论来看,似乎您希望将< code > BookRepositorySearch 保留为一个接口。如果是这种情况,您需要创建该接口的一个具体实例,并在其上放置< code>@Component。
在接口声明中不需要< code>@Component,也不能在接口中扩展类。
public interface BookRepositorySearch {}
创建实现接口并扩展< code>GenericRepository的具体类型
@Component
public class BookRepositorySearchImpl
implements BookRepositorySearch
extends GenericRepository<Book, Long>
{}
https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-工厂级ctor
用构造函数实例化
当您通过构造函数方法创建bean时,所有普通类都可以由Spring使用并与Spring兼容。也就是说,正在开发的类不需要实现任何特定的接口或以特定的方式编码。简单地指定bean类就足够了。但是,根据您对该特定bean使用的IoC类型,您可能需要一个默认(空)构造函数。
Spring IoC容器几乎可以管理您希望它管理的任何类;它不仅限于管理真正的JavaBeans。大多数Spring用户更喜欢实际的JavaBeans,它只有一个默认的(无参数的)构造函数和模仿容器中属性的适当的setters和getters。您还可以在容器中包含更多奇特的非bean样式的类。例如,如果您需要使用完全不符合JavaBean规范的遗留连接池,Spring也可以管理它。
我正试图编写一个简单的CRUD程序,我得到了这个错误。这个项目是基于我的项目。不知道我为什么不工作。 如果我注释掉构造函数,错误就会消失。我的房子里什么都没有。 有人能帮我一把吗? 这是我的代码: 实体/食品。JAVA 仓库/FoodRepository.java 控制器/食物控制器。JAVA 主课 波姆。xml
我正在学习Spring Framework,我得到了以下错误消息: com.example.demo.AppUser.AppUserService中的构造函数的参数0需要类型为“com.example.demo.AppUser.AppUserRepository”的bean,但找不到该bean。 这是我的AppUserRepository 如果有人知道问题出在哪里,请帮帮我
我使用的是jdk8,需要创建一个以类名作为构造函数参数的Spring组件。但是,使用我当前的代码,我遇到了运行时错误: 这是我的博客类: 这就是我尝试创建类的方式: 我可以了解一下创建该组件的正确方法/这里出了什么问题吗?提前感谢。
在此处输入图像描述 在此处输入图像描述 我仍然不知道该怎么办(我在UserRepository上尝试了Repository注释-错误是一样的)。错误消息:`启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2022-03-14 09:04:54.626错误7236---[main]o.s.b.d.LoggingFailureAnalysisR
实际上,我不明白无参数构造函数和默认构造函数的区别是什么。 在创建名为cFrame的Test对象时,是否调用此类的默认构造函数?
本文向大家介绍解析C++中构造函数的默认参数和构造函数的重载,包括了解析C++中构造函数的默认参数和构造函数的重载的使用技巧和注意事项,需要的朋友参考一下 C++构造函数的默认参数 和普通函数一样,构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值。 【例】 程序运行结果为: 程序中对构造函数的定义(第12-16行)也可以改写成参数初始化