簡體   English   中英

考慮在您的配置中定義“com.project.airCompanies.repo.AirCompanyRepository”類型的 bean。 帶MySQL數據庫

[英]Consider defining a bean of type 'com.project.airCompanies.repo.AirCompanyRepository' in your configuration. With MySQL database

這是我的 class ,我在其中實現了 airCompaniesService 並覆蓋了一些方法:

package com.project.airCompanies.service.impl;

import com.project.airCompanies.mapper.AirCompanyMapper;
import com.project.airCompanies.model.AirCompany;
import com.project.airCompanies.model.request.AirCompanyRequest;
import com.project.airCompanies.model.response.AirCompanyResponse;
import com.project.airCompanies.repo.AirCompanyRepository;
import com.project.airCompanies.service.AirCompanyService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@Service
@RequiredArgsConstructor
public class AirCompanyServiceImpl implements AirCompanyService {
    private final AirCompanyRepository repo;
   
    private final AirCompanyMapper mapper;
    @Override
    public AirCompanyResponse save(AirCompanyRequest request) {
        AirCompany result = mapper.requestToModel(request);
        result = repo.save(result);
        return mapper.modelToResponse(result);

    }

    @Override
    public void delete(Integer id) {
        repo.deleteById(id);
    }
}

它是接口存儲庫,我在其中創建了 MySql 存儲庫

package com.project.airCompanies.repo;

import com.project.airCompanies.model.AirCompany;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface AirCompanyRepository extends JpaRepository<AirCompany, Integer> {

}

我有錯誤:

2021-03-04 12:07:58.439  INFO 7924 --- [  restartedMain] c.p.a.AirCompaniesApplication            : Starting AirCompaniesApplication using Java 15.0.1 on DESKTOP-2S6243E with PID 7924 (D:\TaskSynergyWay\airCompanies\target\classes started by natal in D:\TaskSynergyWay\airCompanies)
2021-03-04 12:07:58.443  INFO 7924 --- [  restartedMain] c.p.a.AirCompaniesApplication            : No active profile set, falling back to default profiles: default
2021-03-04 12:07:58.486  INFO 7924 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2021-03-04 12:07:58.486  INFO 7924 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2021-03-04 12:07:59.235  INFO 7924 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-03-04 12:07:59.242  INFO 7924 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-03-04 12:07:59.242  INFO 7924 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.43]
2021-03-04 12:07:59.302  INFO 7924 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-03-04 12:07:59.302  INFO 7924 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 815 ms
2021-03-04 12:07:59.331  WARN 7924 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'airCompaniesController' defined in file [D:\TaskSynergyWay\airCompanies\target\classes\com\project\airCompanies\controller\AirCompaniesController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'airCompanyServiceImpl' defined in file [D:\TaskSynergyWay\airCompanies\target\classes\com\project\airCompanies\service\impl\AirCompanyServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.project.airCompanies.repo.AirCompanyRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
2021-03-04 12:07:59.334  INFO 7924 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2021-03-04 12:07:59.345  INFO 7924 --- [  restartedMain] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-03-04 12:07:59.360 ERROR 7924 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in com.project.airCompanies.service.impl.AirCompanyServiceImpl required a bean of type 'com.project.airCompanies.repo.AirCompanyRepository' that could not be found.


Action:

Consider defining a bean of type 'com.project.airCompanies.repo.AirCompanyRepository' in your configuration.


Process finished with exit code 0

那么我該如何解決這個問題考慮在你的配置中定義一個'com.project.airCompanies.repo.AirCompanyRepository'類型的bean。 用 MySQL 數據庫?

您必須確保 spring 搜索到您的組件。 如果你的結構如下

ROOT
----com.example
---------------services            
---------------repositories
---------------controllers
---------------models
---------------configs
----ApplicationMain.java

那么您可能不需要手動通知 spring 搜索組件類,否則您可以這樣做

@ComponentScan({"com.project.airCompanies.service", "com.project.airCompanies.repo"})

到您的SpringBootApplication class 文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM