考虑在您的配置中定义一个名为“entityManagerFactory”的 bean。3

Posted

技术标签:

【中文标题】考虑在您的配置中定义一个名为“entityManagerFactory”的 bean。3【英文标题】:Consider defining a bean named 'entityManagerFactory' in your configuration.3 【发布时间】:2019-02-26 05:34:56 【问题描述】:

我只是在学习一些如何通过 spring 上传文档的教程。因此,在处理它时,我遇到了上述问题。由于有很多与同一问题相关的问题,我参考了它们并尝试了所有方法,但没有一个更正我的问题。提前我不需要为我的 Repository 接口添加 @Repository 并在我的 Application 类中添加 @EnableJpaRepositories 因为我使用了正确的包顺序。如需更多参考,请参阅https://dzone.com/articles/spring-spring-boot-and-component-scan。请帮帮我。

应用类

@SpringBootApplication
@ComponentScan("com.project.abhishek")
public class DocumnetwebApplication 

public static void main(String[] args) 
    SpringApplication.run(DocumnetwebApplication.class, args);

控制器

@Controller
public class DocumentController 

@Autowired
private DocumentRepository documentRepo;

@RequestMapping("/displayUpload")
public String displayUpload() 
    return "documentUpload";


@RequestMapping(value="/upload", method=RequestMethod.POST )
public String upload(@RequestParam("document")MultipartFile multiPartFile, @RequestParam("id")long id) 

    Document document = new Document(); 
    document.setId(id);
    document.setName(multiPartFile.getName());
    try 
        document.setData(multiPartFile.getBytes());
     catch (IOException e) 
        e.printStackTrace();
    
    documentRepo.save(document);

    return "documentUpload";

豆子

@Entity
public class Document 

@Id
private long id;
private String name;
@Lob
private byte[] data;
//getters and setters

存储库

public interface DocumentRepository extends JpaRepository<Document, Long> 

应用程序属性文件

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=test
spring.jpa.properties.hibernate.id.new_generator_mappings=false
spring.jpa.show-sql=true
server.port=8083
spring.mvc.view.prefix=/WEB-INF/jsps/
spring.mvc.view.suffix=.jsp
server.servlet.context-path= /documentweb

pom 文件

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

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <version>9.0.12</version>
        <scope>provided</scope>

    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

</dependencies>

包结构

com.project.abhishek---application class  
com.project.abhishek.controller  
com.project.abhishek.entity  
com.project.abhishek.repository

【问题讨论】:

你能告诉我你正在使用的 sprint boot 版本吗? 是它的 2.1.0.BUILD-SNAPSHOT 我使用了与您相同的结构、相同的代码、相同的 Spring Boot 版本和相同的依赖项,它对我有用,您能否通过重新构建或 mvn clean install 清理您的项目,然后检查可能是某些 jar 损坏。 . 你提到的所有东西都清理了 maven 并更新了它,但如果我创建一个新项目,结果仍然相同。 您可以,在此之前请您删除 .m2 然后再次执行 mvn clean install 【参考方案1】:

我使用了与您相同的结构、相同的代码、相同的 Spring Boot 版本和相同的依赖项,它适用于我,这里有一些您可以做的事情,可能是某些 jar 损坏。

    清理您的项目然后更新

    或者删除.m2 repositories然后运行mvn clean install

如果其中任何一个都不起作用。

    从头开始创建新项目

    如果还是不行,建议重装IDE。

【讨论】:

以上是关于考虑在您的配置中定义一个名为“entityManagerFactory”的 bean。3的主要内容,如果未能解决你的问题,请参考以下文章

考虑在您的配置中定义一个“服务”类型的 bean [Spring boot]

是否可以在您的 Matlab 编译器运行时安装中添加自定义工具箱?

在单独的文件中使用 Sequelize 创建模型并在您的项目中使用它们

在 Rails 中,如何使用视图呈现 JSON?

oracle sql中的函数

swiftui 在您的项目中使用非 SF Symbols SVG