首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >弹簧休息控制器不启动

弹簧休息控制器不启动
EN

Stack Overflow用户
提问于 2018-06-25 08:17:35
回答 1查看 103关注 0票数 0

pom.xml

代码语言:javascript
代码运行次数:0
运行
复制
<groupId>com.ibm.springboot</groupId>
<artifactId>spring-boot-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>spring-boot-api</name>
<description>Spring API DATA</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.14.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-commons</artifactId>
        <version>2.0.1.RELEASE</version>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

SpringBootApiApplication.java

代码语言:javascript
代码运行次数:0
运行
复制
@SpringBootApplication
@ComponentScan("com.ibm.springboot.*")
@EntityScan("com.ibm.springboot.topics.Topic")
@EnableJpaRepositories("com.ibm.springboot.topics.TopicRepository")
public class SpringBootApiApplication {

public static void main(String[] args) {
    SpringApplication.run(SpringBootApiApplication.class, args);
}
}

Topic.java

代码语言:javascript
代码运行次数:0
运行
复制
 @Entity
 public class Topic {

 @Id
 private String id;
 private String name;
 private String description;



 public Topic(String id, String name, String description) {
    super();
    this.id = id;
    this.name = name;
    this.description = description;
 }
 public String getId() {
    return id;
 }
 public void setId(String id) {
    this.id = id;
 }
 public String getName() {
    return name;
 }
 public void setName(String name) {
    this.name = name;
 }
 public String getDescription() {
    return description;
 }
 public void setDescription(String description) {
    this.description = description;
 }
 }

TopicController.java

代码语言:javascript
代码运行次数:0
运行
复制
@RestController
public class TopicController {

@Autowired
TopicService topicService;

@RequestMapping("/topics")
public List<Topic> getAllTopics(){

    return topicService.getAllTopics();
}

@RequestMapping(method=RequestMethod.POST,value="/topics")
public void addTopic(@RequestBody Topic topic){
    topicService.addTopic(topic);
}
}

TopicRepository.java

代码语言:javascript
代码运行次数:0
运行
复制
@Repository
public interface TopicRepository extends CrudRepository<Topic, String>{

}

TopicService.java

代码语言:javascript
代码运行次数:0
运行
复制
@Service
public class TopicService {

@Autowired
TopicRepository topicRepository;

public List<Topic> getAllTopics(){

    List<Topic> topics = new ArrayList<>();
    topicRepository.findAll().forEach(topics::add);
    return topics;

}

public void addTopic(Topic topic){
//  topics.add(topic);
    topicRepository.save(topic);
 }


 }

当我运行主类时,我会得到以下错误。

应用程序启动失败

描述: 字段topicRepository在com.ibm.springboot.topics.TopicService中需要一个无法找到的'com.ibm.springboot.topics.TopicRepository‘类型的bean。

操作:

考虑在您的配置中定义'com.ibm.springboot.topics.TopicRepository‘类型的bean。

我已经核对了这里给出的所有相关建议,但是clicked.Please没有任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-06-25 08:39:08

@Repository接口中删除TopicRepository注释。应该是(没有对其进行注释):

代码语言:javascript
代码运行次数:0
运行
复制
public interface TopicRepository extends CrudRepository{

}

编辑

改变你的:

代码语言:javascript
代码运行次数:0
运行
复制
@EnableJpaRepositories("com.ibm.springboot.topics.TopicRepository")

至:

代码语言:javascript
代码运行次数:0
运行
复制
@EnableJpaRepositories(basePackageClasses= {com.ibm.springboot.topics.TopicRepository.class})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51018977

复制
相关文章

相似问题

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