spring Java Sping Boot 问题LoggiFailureAnalysisReporter

2eafrhcq  于 2024-01-05  发布在  Spring
关注(0)|答案(2)|浏览(163)

很明显,我是Boot-Spring的新手,在这个案例中,我主要是从youtube上复制一些代码。然而,经过修改,最后,我得到了这样一条消息:
产品描述:
找不到com.example.demo.BlogController中的字段postService需要类型为“Server.PostService”的Bean。
行动:
考虑在配置中定义一个类型为“Server.PostService”的bean。
.....任何想法如何处理这种情况.感谢您的支持. 1stclass-BlogAppl ciation-com.example.demo(package)2nd-Blog Controller-same package as BlogApplication 3rdclass-Post-entities 4 rthclass-PostRepositories-Repositories

  1. **package com.example.demo;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class BlogApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(BlogApplication.class, args);
  8. }

字符串
}**

  1. **package com.example.demo;
  2. import java.util.List;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.GetMapping;
  5. import org.springframework.web.bind.annotation.PostMapping;
  6. import org.springframework.web.bind.annotation.RequestBody;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import Server.PostService;
  9. import entities.Post;
  10. import java.util.Date;
  11. @RestController
  12. public class BlogController {
  13. @Autowired
  14. private PostService postService;
  15. @GetMapping(value="/")
  16. public String index() {
  17. return "index";
  18. }
  19. @GetMapping(value="/posts")
  20. public List<Post>posts(){
  21. return postService.getAllPosts();
  22. }
  23. @PostMapping(value="/post")
  24. public void publishPost(@RequestBody Post post) {
  25. if(post.getDatecreation() == null)
  26. post.setDatecreation(new Date());
  27. postService.insert(post);
  28. }
  29. }**
  30. **package entities;
  31. import java.util.Date;
  32. import javax.persistence.Entity;
  33. import javax.persistence.GeneratedValue;
  34. import javax.persistence.GenerationType;
  35. import javax.persistence.Id;
  36. @Entity
  37. public class Post {
  38. @Id
  39. @GeneratedValue(strategy=GenerationType.AUTO)
  40. private Long id;
  41. private String title;
  42. private String body;
  43. private Date Datecreation;
  44. public Post() {
  45. }
  46. public long getId() {
  47. return id;
  48. }
  49. public void setId(long id) {
  50. this.id = id;
  51. }
  52. public String gettitle() {
  53. return title;
  54. }
  55. public void settitle(String title) {
  56. this.title= title;
  57. }
  58. public String getBody() {
  59. return body;
  60. }
  61. public void setBody(String body) {
  62. this.body = body;
  63. }
  64. public Date getDatecreation() {
  65. return Datecreation;
  66. }
  67. public void setDatecreation(Date datecreation) {
  68. this.Datecreation = datecreation;
  69. }
  70. }**
  71. **package Repositories;
  72. import org.springframework.data.jpa.repository.JpaRepository;
  73. import org.springframework.stereotype.Repository;
  74. import entities.Post;
  75. @Repository
  76. public interface PostRepository extends JpaRepository<Post,Long>{
  77. }**

wz8daaqr

wz8daaqr1#

您的BlogApplication Class,也就是用@SpringBootApplication注解的class,位于包com.example.demo中。这意味着,默认情况下,Spring将从该包开始启动组件扫描。
问题是,您的类PostService和接口PostRepositorycom.example.demo不在同一个包中(或在com.example.demo的子包中),因此Spring无法找到它们,也不会自动为您创建这些bean。
若要更正此问题,请移动您在根软件包(com.example.demo)中创建的软件包。
您可以找到有关使用@SpringBootApplicationhere的更多信息。

cunj1qz1

cunj1qz12#

编辑:
您缺少PostService类或导入了错误的类作为Server.PostService。
尝试创建这样的服务:

  1. @Component
  2. public class PostService {
  3. public List<Post> getAllPosts(){
  4. //your code
  5. }
  6. }

字符串

相关问题