我只是遵循一些教程,如何通过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";
}}
Bean
@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
答案 0 :(得分:0)
我使用了相同的结构,相同的代码,相同的spring boot版本和相同的依赖关系,并且对我有用,这是您可以做的几件事,因为可能jar损坏了。
清理项目然后更新
或删除.m2 repositories
然后运行mvn clean install
如果任何一个都不起作用。
从头开始创建新项目
如果它甚至不起作用,则建议重新安装IDE。