当前位置: 首页 > 知识库问答 >
问题:

考虑定义“com”类型的bean。问题管理。存储库。配置中的IssueHistoryRepository

范安歌
2023-03-14

我得到这个错误。在这种情况下可以做什么?

申请无法启动

说明:com.issuemanagement.service.impl.中构造函数的参数0 Issue历史服务Impl需要一个无法找到的类型为“com.issuemanagement.repository.Issue历史存储库”的bean。

操作:考虑定义“com”类型的bean。问题管理。存储库。配置中的IssueHistoryRepository。

epository.java

public interface IssueHistoryRepository extends JpaRepository<IssueHistory, Long>{
    
}

问题历史ervice.java

public interface IssueHistoryService {
    
    IssueHistory save(IssueHistory issueHistory);
    
    IssueHistory getById(Long id);
    
    Page<IssueHistory> getAllPageable(Pageable pageable);
    
    Boolean delete(IssueHistory issueHistory);
}

IssueHistoryServiceImpl。Java语言

@Service
public class IssueHistoryServiceImpl implements IssueHistoryService {

    
    private final IssueHistoryRepository issueHistoryRepository;
    private final ModelMapper modelMapper;

    public IssueHistoryServiceImpl(IssueHistoryRepository issueHistoryRepository, ModelMapper modelMapper) {
        this.issueHistoryRepository = issueHistoryRepository;
        this.modelMapper = modelMapper;
    }
   
    @Override
    public IssueHistory save(IssueHistory issueHistory) {
        if(issueHistory.getDate()==null) {
            throw new IllegalArgumentException("Issue cannot be null");
        }
        issueHistory = issueHistoryRepository.save(issueHistory);
        return issueHistory;
    }

    @Override
    public IssueHistory getById(Long id) {
        
        return issueHistoryRepository.getOne(id);
    }

    @Override
    public Page<IssueHistory> getAllPageable(Pageable pageable) {
        
        return issueHistoryRepository.findAll(pageable);
    }

    @Override
    public Boolean delete(IssueHistory issueHistory) {
        
        issueHistoryRepository.delete(issueHistory);
        return Boolean.TRUE;
    }

}

IssueManagementApplication。Java语言

@SpringBootApplication
@ComponentScan({"com.issuemanagement"})
@EnableAutoConfiguration
public class IssueManagementApplication {

    public static void main(String[] args) {
        SpringApplication.run(IssueManagementApplication.class, args);
    }
    
    @Bean
    public ModelMapper getModelMapper() {
        return new ModelMapper();
    }

}

共有1个答案

孙绍辉
2023-03-14

@SpringBootApplication封装了@Configuration@EnableAutoConfiguration@ComponentScan注释及其默认属性。@ComponentScan的默认值意味着扫描了@ComponentScan使用的包上的所有子包。这就是为什么在项目的基本包中包含主类通常是一种很好的做法。话虽如此,请从您的主类中删除@ComponentScan@EnableAutoConfiguration如下:

@SpringBootApplication
public class IssueManagementApplication {

    public static void main(String[] args) {
        SpringApplication.run(IssueManagementApplication.class, args);
    }
    
    @Bean
    public ModelMapper getModelMapper() {
        return new ModelMapper();
    }
}
 类似资料:
  • 主存储库文件 ==================================自定义存储库 ============================================ 定制回购方法的实现 ===================================================== 服务等级 在myRepository上遇到异常请考虑定义一个myRepository类

  • 我试图在Spring Boot中创建一个简单的REST服务。在我使用CrudRepository之前,一切都很好。现在我得到了这个错误- ***应用程序启动失败 描述: 公司中的现场er。Spring靴。io。受雇者EmployeeService需要“company”类型的bean。Spring靴。io。受雇者找不到EmployeeRepo“”。 措施: 考虑定义一个“company”类型的bea

  • 我正在做SpringBoot项目,并遵循一些测试SpringBoot的说明。 当我尝试将mysql DB与项目连接时,服务找不到映射器。 我不知道为什么它找不到映射器... 这是服务代码和 这是映射程序代码 下面的错误是 我将发布我的包裹设置的图片。。。

  • 在我解释这个问题之前,我已经经历了导致我所面临的错误的类似线程。所以我看了看,没有一个解决方案是有用的,因此,我张贴了我自己的自定义问题。创建简单的Spring Boot/MVC项目时,我遇到以下错误: 说明: 包装中的现场cRepo。网站控制器。LandingPageController需要“pack”类型的bean。网站存储库。找不到CustomerRepository“”。 注入点具有以下注

  • 应用程序启动失败 考虑在您的配置中定义一个类型为'com.service.adminService'的bean。