猿问

弹簧靴,JPA。存储库不是托管类型

我使用 Spring boot + jpa + h2 并且我遇到了这个异常:


原因:org.springframework.beans.factory.BeanCreationException:创建名为“userRepository”的bean时出错:调用init方法失败;嵌套异常是 java.lang.IllegalArgumentException: Not a managed type: class com.campsite.users.model.User


应用程序.java 文件:


package com.campsite.users.server;



import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.support.SpringBootServletInitializer;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.ComponentScans;

import org.springframework.data.jpa.repository.config.EnableJpaRepositories;


/**

 * Class that starts the Springboot Application

 */

@EnableAutoConfiguration

@SpringBootApplication

@ComponentScan({"com.campsite.users.server", "com.campsite.users.controller","com.campsite.users.manager", "com.campsite.users.model"})

@EnableJpaRepositories("com.campsite.users.repository")

public class Application extends SpringBootServletInitializer {

    @Override

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

        return application.sources(Application.class);

    }


    public static void main(String[] args) throws Exception {

        SpringApplication.run(Application.class, args);

    }


}

ApplicationContext.java 文件:


package com.campsite.users.server;


import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;


@Configuration

public class ApplicationContext {


    // inject via application.properties

    @Value("${campsite.module.name}")

    private String moduleName;


    @Bean

    public String getModuleName(){

        return this.moduleName;

    }

我对此感到非常失落。我检查了另一个stackoverflow问题,但我无法找到我所缺少的。


Smart猫小萌
浏览 144回答 1
1回答

青春有我

@ComponentScan({"com.campsite.users.server", "com.campsite.users.controller","com.campsite.users.manager", "com.campsite.users.model"})@EnableJpaRepositories("com.campsite.users.repository")我认为您在启动 SpringBoot 应用程序时不需要添加这些注释。你为什么不试试没有它们呢?此外,将您的应用程序类移动到 com.campsite.users。
随时随地看视频慕课网APP

相关分类

Java
我要回答