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

创建名称为“出租车”的bean时出错

刘瀚
2023-03-14

当我试图运行我的项目时,我遇到了以下错误:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'taxeIRImpl': Unsatisfied dependency expressed through field 'taxeIRDao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taxeIRDao' defined in com.example.taxe.dao.TaxeIRDao defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract com.example.taxe.bean.TaxeIR com.example.taxe.dao.TaxeIRDao.findbyMoisAndAnneAndEmploye(int,int,com.example.taxe.bean.Employe)! Reason: Failed to create query for method public abstract com.example.taxe.bean.TaxeIR com.example.taxe.dao.TaxeIRDao.findbyMoisAndAnneAndEmploye(int,int,com.example.taxe.bean.Employe)! No property findbyMois found for type TaxeIR!; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract com.example.taxe.bean.TaxeIR com.example.taxe.dao.TaxeIRDao.findbyMoisAndAnneAndEmploye(int,int,com.example.taxe.bean.Employe)! No property findbyMois found for type TaxeIR!   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) ~[spring-beans-5.3.15.jar:5.3.15]   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) ~[spring-beans-5.3.15.jar:5.3.15]  at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.3.15.jar:5.3.15]  at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.3.15.jar:5.3.15]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) ~[spring-beans-5.3.15.jar:5.3.15]    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ~[spring-beans-5.3.15.jar:5.3.15]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.15.jar:5.3.15]   at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.15.jar:5.3.15]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.15.jar:5.3.15]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.15.jar:5.3.15]  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.15.jar:5.3.15]    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953) ~[spring-beans-5.3.15.jar:5.3.15]     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.15.jar:5.3.15]  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.15.jar:5.3.15]  at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.3.jar:2.6.3]  at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-2.6.3.jar:2.6.3]    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414) ~[spring-boot-2.6.3.jar:2.6.3]     at org.springframework.boot.SpringApplication.run(SpringApplication.java:302) ~[spring-boot-2.6.3.jar:2.6.3]    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.6.3.jar:2.6.3]   at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.6.3.jar:2.6.3]   at com.example.taxe.ProjetTaxeIrApplication.main(ProjetTaxeIrApplication.java:10) ~[classes/:na]

这是我的豆子:

@Entity
public class TaxeIR {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private int mois;
    private int annee;
    @ManyToOne
    private Employe employe;
    @ManyToOne
    private Employeur employeur;
    private double salaire;
    private double cotisation;
    private String employeICE;
    @ManyToOne
    private User user;
@Entity
public class Employe {
    @Id @GeneratedValue (strategy = GenerationType.IDENTITY)
    private Long id;
    private String cin;
    private String nom;
    private String prenom;
    private double salaire;
    @ManyToOne
    private Employeur employeur;
@Repository
public interface TaxeIRDao extends JpaRepository<TaxeIR, Long> {
    TaxeIR findbyMoisAndAnneAndEmploye(int mois,int annee,Employe employe);
    List<TaxeIR> findByEmployeCin(String cin);
    List<TaxeIR> findByUserLogin(String login);
    List<TaxeIR> findByEmployeICE(String rc);
}

@Service
public class TaxeIRImpl implements TaxeIRService {
    @Autowired
    TaxeIRDao taxeIRDao;

    @Override
    public List<TaxeIR> findByEmployeCin(String cin) {
        return findByEmployeCin(cin);}

    @Override
    public List<TaxeIR> findByUserLogin(String login) {
        return findByUserLogin(login);}

    @Override
    public TaxeIR findbyMoisAndAnneAndEmploye(int mois, int annee, Employe employe) {
        return findbyMoisAndAnneAndEmploye(mois,annee,employe);}

    @Override
    public List<TaxeIR> findByEmployeICE(String rc) {
        return taxeIRDao.findByEmployeICE(rc);}
    @Override
    public int save(TaxeIR taxeIR) {
        TaxeIR taxeIRfound = findbyMoisAndAnneAndEmploye(taxeIR.getMois(),taxeIR.getAnnee(),taxeIR.getEmploye());
        if(taxeIRfound!=null)
            return -1;
        else {
            taxeIRDao.save(taxeIR);
            return 1;
        }
    }
}
@RestController
@RequestMapping("/api/v1/taxeIR")
public class TaxeIRWs {
    @Autowired
    private TaxeIRImpl taxeIRImpl;
    @GetMapping("/cin/{cin}")
    public List<TaxeIR> findByEmployeCin(@PathVariable String cin) {
        return taxeIRImpl.findByEmployeCin(cin);
    }
    @GetMapping("/login/{login}")
    public List<TaxeIR> findByUserLogin(@PathVariable String login) {
        return taxeIRImpl.findByUserLogin(login);
    }
    @GetMapping("/mois/{mois}/annee/{annee}")
    public TaxeIR findbyMoisAndAnneAndEmploye(@PathVariable int mois,@PathVariable int annee,@RequestBody  Employe employe) {
        return taxeIRImpl.findbyMoisAndAnneAndEmploye(mois, annee, employe);
    }

    @GetMapping("/rc/{rc}")
    public List<TaxeIR> findByEmployeICE(@PathVariable String rc) {
        return taxeIRImpl.findByEmployeICE(rc);
    }
    @PostMapping("/")
    public int save(@RequestBody TaxeIR TaxeIR) {
        return taxeIRImpl.save(TaxeIR);
    }
}

我查看了我所有的文件,我自己似乎找不到错误,就像我在标题中所说的,我是初学者,我需要一些帮助。

预期的结果是让它运行,让我能够通过邮递员与它互动

共有1个答案

张昊穹
2023-03-14

这是一个愚蠢的小错误,但魔鬼在细节上。

此方法需要使用CamelCase:

TaxeIR findbyMoisAndAnneAndEmploye(int mois,int annee,Employe employe);

你有“findby”,它必须是“findby”。首都B。

如果您想了解更多详细信息,请参阅此答案:Spring Data JPA——“找不到类型的属性”异常

 类似资料:
  • 问题内容: 我将所有的XML Spring配置都转换为Java代码配置,但是由于我有一个丑陋的异常,所以我无法运行我的所有测试(它们之前都曾进行过测试): 这是我的测试课: 和我的: 我在测试课上尝试了推子,但这没用。该项目是Spring MVC项目,但是现在我仅测试服务层,所以为什么要在我的课程上放置该注释?即使有了该注释,也会出现另一个错误。那么,这里发生了什么? 问题答案: 您的配置很好,除

  • 问题内容: 我正在使用Springframework和Tomcat创建一个简单的REST服务。响应应该像{“ id”:“ 101”,“ name”:“ Ram”}之类的json中。每次运行时,出现以下错误 从这里开始,以下是我的Java代码和xml文件。 POM.xml web.xml front-controller-servlet.xml json / User.java json / Use

  • 当我尝试启动应用程序时,我得到以下消息: “不满意的依赖关系”异常:创建名称为“产品服务”的 Bean 时出错 [C:\Users\Acasa\0 SDA\0 Proiecte 实践\attentive2细节\目标\类\com\示例\attentive2细节\服务\产品服务.class]:通过构造函数参数 0 表示的不满意的依赖关系;嵌套的异常是组织.springframework.bean.fa

  • 问题内容: 任何建议将不胜感激。我难过… 问题 在我的笔记本电脑上,只要我们的应用程序尝试加载application- config.xml,我都会收到java.lang.reflect.MalformedParameterizedTypeException。 完全相同的代码可在我的台式机和同事的台式机/笔记本电脑上使用。但是在我的笔记本电脑上,它将引发此错误。由于我的笔记本电脑和台式机是完全相同

  • 问题内容: 我正在使用spring和hibernate与mysql db进行配置。 我的we.xml文件具有以下代码: 我的applicationcontext.xml文件具有以下导入: 我的spring-db-applicationContext.xml具有以下代码: 我已经包括适当的库。现在在运行项目时,出现以下错误: 谁能解决我的sessionFactory bean出错的问题? 提前致谢…

  • 我正在为spring数据存储库编写junit测试。但我不能自动连接存储库界面。如果我运行main方法,则程序正在运行,spring可以检测所有存储库、服务和实体,但如果我运行测试,则会出现以下错误: UnsatisfiedDependencyException:创建名为“repository”的bean时出错。BookRepositoryTest:通过字段“bookRepository”表示的未满