考虑在您的配置中定义一个名为“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 编译器运行时安装中添加自定义工具箱?