首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java Spring Boot problem LoggiFailureAnalysisReporter

Java Spring Boot problem LoggiFailureAnalysisReporter
EN

Stack Overflow用户
提问于 2018-09-24 00:49:56
回答 2查看 51关注 0票数 0

我是Boot-Spring的新手,显然,在这个案例中,我主要是从youtube上复制一些代码。然而,在修改之后,我最终得到了这样的消息:应用程序无法启动

描述:

com.example.demo.BlogController中的字段postService需要找不到的'Server.PostService‘类型的bean。

操作:

考虑在您的配置中定义一个'Server.PostService‘类型的bean。

.....Any的想法是如何处理这种情况。感谢您的支持。1stclass-BlogApplciation-----com.example.demo(package)第二个博客控制器-与BlogApplication相同的包3rdclass-帖子-实体4rthclass-帖子存储库-存储库

代码语言:javascript
复制
**package com.example.demo;  

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication

public class BlogApplication {

public static void main(String[] args) {

    SpringApplication.run(BlogApplication.class, args);
}

}**

代码语言:javascript
复制
  **package com.example.demo;
  import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import Server.PostService;
 import entities.Post;
 import java.util.Date;
  @RestController
  public class BlogController {
  @Autowired
  private PostService postService;
  @GetMapping(value="/")

  public String index() {
    return "index";
    }
  @GetMapping(value="/posts")
  public List<Post>posts(){
  return postService.getAllPosts();

    }
  @PostMapping(value="/post")
  public void publishPost(@RequestBody Post post) {

   if(post.getDatecreation() == null) 
  post.setDatecreation(new Date());
      postService.insert(post);  
     }
     }**


  **package entities;
    import java.util.Date;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    @Entity
     public class Post {
      @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
     private Long id;
     private String title;
    private String body;
    private Date Datecreation;

    public Post() {

     }
    public long getId() {
    return id;
     }
    public void setId(long id) {
    this.id = id;
    }   
    public String gettitle() {
    return title;
     }
    public void settitle(String title) {
     this.title= title;
     }
    public String getBody() {
    return body;
     }
    public void setBody(String body) {
    this.body = body;
     }
    public Date getDatecreation() {
    return Datecreation;
    }
    public void setDatecreation(Date datecreation) {
    this.Datecreation = datecreation;
    }
    }**


   **package Repositories;

   import org.springframework.data.jpa.repository.JpaRepository;
   import org.springframework.stereotype.Repository;
   import entities.Post;
   @Repository
   public interface PostRepository extends JpaRepository<Post,Long>{
    }**
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-24 02:54:02

您的BlogApplication类是用@SpringBootApplication注释的类,它在com.example.demo包中。这意味着,默认情况下,Spring将从该包开始启动组件扫描。

问题是您的类PostService和接口PostRepository不在与com.example.demo相同的包中(或不在Spring的子包中),因此Spring找不到它们,也不会自动为您创建这些bean。

要纠正此问题,请将您创建的包移动到根包(com.example.demo)中。

您可以找到有关使用@SpringBootApplication here的更多信息。

票数 0
EN

Stack Overflow用户

发布于 2018-09-24 00:54:39

编辑:

您缺少PostService类,或者您作为Server.PostService导入了不正确的类。

尝试创建一个类似这样的服务:

代码语言:javascript
复制
@Component 
public class PostService {
    public List<Post> getAllPosts(){
     //your code
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52468261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档