繁体   English   中英

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

[英]Consider defining a bean named 'entityManagerFactory' in your configuration.3

我只是在遵循一些教程,如何通过Spring上传文档。 因此,在处理它时,我遇到了上述问题。 由于存在与同一个问题相关的许多问题,因此我将其引荐给我,并尝试了所有方法,但没有更正m问题。 事先我不需要在我的Application类中为我的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

我使用了相同的结构,相同的代码,相同的spring boot版本和相同的依赖项,并且它对我有用,这是您可以做的几件事,因为可能jar损坏了。

  1. 清理您的项目然后更新

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

如果两者都不起作用。

  1. 从头开始创建新项目

  2. 如果它甚至不起作用,则建议重新安装IDE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM