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

创建名为“dieta controller”的bean时出错

时浩波
2023-03-14

所以,我有一个类似这样的问题:2020-01-30 22:54:20.059错误8040--[main]O.S.Boot.SpringApplication:应用程序运行失败

UnsatisfiedDependencyException:创建名为“Dieta Controller”的bean时出错:通过字段“Dieta Repository”表示的不满足依赖项;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“dieta repository”的bean时出错:调用init方法失败;嵌套异常为java.lang.IllegalArgumentException:不是托管类型:class com.diet4you.lapkoekaterina.entity.dieta My pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.diet4you</groupId>
    <artifactId>LapkoEkaterina</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>

    </parent>
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.3.2.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.2.3.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.0.16.Final</version>
        </dependency>

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

        </plugins>
    </build>
</project>

我的实体:

@Entity
@Table(name = "diety")
public class Dieta {
    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    @Column(name="DIETA_ID") private int dietaId;
    @NotEmpty
    @Column(unique=true, name ="DIETA_NAZWA")
    private String nazwa;
    @NotEmpty
    @Column(name="OPIS") private String opis;
    public Dieta(){ }
    public Dieta (int dietaId,String nazwa, String opis )
    { this.dietaId = dietaId;
    this.nazwa = nazwa;
    this.opis = opis; }
    public int getDietaId() {
        return dietaId; }
        public void setDietaId(int dietaId) {
        this.dietaId = dietaId; }
        public String getNazwa() {
        return nazwa; }
        public void setNazwa(String nazwa) {
        this.nazwa = nazwa; }
        public String getOpis() {
        return opis; }
        public void setOpis(String opis) {
        this.opis = opis; }
}
@Repository
public interface DietaRepository extends JpaRepository<Dieta, String> {
    Dieta findByName (String name);
}

和我的控制器:

@RestController
public class DietaController {
    @Autowired
    private DietaRepository dietaRepository;
    @GetMapping("/dieta")
    public List<Dieta> getAllNotes() {
        return dietaRepository.findAll();
    }

}

应用程序java类:

@Configuration
@SpringBootApplication
@EnableJpaRepositories
@EntityScan ( basePackages  = { " com.diet4you.LapkoEkaterina" })
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

共有1个答案

谢俊悟
2023-03-14

>

  • 删除@EntityScan(basePackages={“com.diet4you.lapkoekaterina”})com.diet4you...之间的空格

    extends jparepository 更改为extends jparepository

    删除或修复存储库接口的dieta findByName(字符串名称),它是错误的

  •  类似资料:
    • 我有一个实体类InAppNotification。看起来像这样的java: 我使用JPA来处理数据库查询,这就是JPA接口的定义: 这是我application.properties的样子: 但是,当我试图在构建后通过运行 来打包应用程序时,我会遇到以下问题: 尝试调用不存在的方法。尝试从以下位置进行:javax.el.ELManager.getExpress sionWorks(ELManage

    • 在将project从Spring Boot版本从1.2.3.release迁移到1.3.0.release之后,我已经开始得到以下异常。 创建类路径资源[org/springframework/boot/autoconfigure/admin/springapplicationadminjmxautoconfiguration.class]中定义的名为'Spring ApplicationAdmi

    • 我遵循本教程将消息发送到azure服务队列:https://docs.microsoft.com/en-us/azure/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-service-bus 到我现有的spring boot应用程序,但我得到以下错误: 用户类别: 控制器类: pom xml: 添加它

    • 我试图将弹性搜索集成到spring-boot应用程序中,但我得到了这个*创建名为“client”的bean时出错*异常,不确定是什么地方出了问题,因为我之前找不到任何类似的线索...非常感谢你为大家指路。这是mu elasticsearch配置: 这是我的主要应用程序: 我的pom.xml: 这是te异常跟踪:

    • 我有这些错误编译,我不知道我哪里错了,我只有这3个类

    • 我正在尝试在spring boot应用程序中使用SQLite。但是应用程序不能创建下面的bean。 org.springframework.boot.autocigure.orm.jpa.hibernatejaconfiguration 我该怎么办?我在这个站点上搜索了相关的问题,但是找不到一个合适的。 如下所示。 4.0.0 org.springframework.Boot spring-boo

    • 在我的Spring应用程序中,我有这些问题。有人能帮我吗? 我在pom.xml上添加了一些东西,但是应用程序没有启动,有很多错误。 启动应用程序上下文时出错。若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-01-26 14:58:17.003 错误 14580 --- [ 重新启动主屏幕] o.s.boot.Spring 应用程序: 应用程序运行失败

    • 因此,我们终于设法将我们的Spring框架从版本< code>3.2更新到了< code>4.2.25。经过一些痛苦的过程后,我现在陷入了这个异常:< code >创建名为' accountController '的bean时出错:注入资源依赖关系失败;嵌套异常是org . spring framework . beans . factory . beancreationexception 。<