当前位置: 首页 > 知识库问答 >
问题:

如何自动实现spring-data CrudRepository

范瀚昂
2023-03-14

我在运行下面给出的代码时遇到了一些问题。我得到以下异常。当我尝试[CrudRepository for Spring Data][1]的示例代码时。

我有一个接口:

package com.joydeep.springboot; 

import org.springframework.data.repository.CrudRepository; 
import com.joydeep.springboot.vo.Message; 

public interface Test1 extends CrudRepository<Message, String> { }

VO类:

package com.joydeep.springboot.vo;

import java.util.Date;    
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Message {
    @Id
    private String id;
    private String text;
    private String author;
    private Date created;

    public Message() {
        super();
    }
    public Message(String id, String text, String author, Date created) {
        super();
        this.id = id;
        this.text = text;
        this.author = author;
        this.created = created;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this.author = author;
    }
    public Date getCreated() {
        return created;
    }
    public void setCreated(Date created) {
        this.created = created;
    }
    }
package com.joydeep.springboot; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController;  

@RestController 
public class HelloCntrl { 

   @Autowired 
   Test1 test; 

   @RequestMapping("/hello")
   public String sayHi(){
      return "Hi"; 
   } 

}
package com.joydeep.springboot; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class CourseAPIStarter { 
   public static void main(String[] args) {
      SpringApplication.run(CourseAPIStarter.class); 
   } 
}
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>io.springboot</groupId>
    <artifactId>rest-course-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Rest service course API</name>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
    </parent>
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <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>

    </dependencies>
</project>

上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.unsatisfieddependencyexception:创建名为“hello cntrl”的bean时出错:通过字段“test”表示的不满足的依赖项;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:没有“com.joydeep.springboot.test1”类型的合格bean可用:至少需要一个合格的自动候选bean。依赖项注释{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}

我所指的例子就是来自这个链接。

https://spring.io/guides/gs/accessing-data-jpa/

共有1个答案

寇夜洛
2023-03-14

您不需要在test1上放置@repository注释。在courseapistarter类上添加这3个注释,应用程序就会像在黄油中的热刀一样运行。

@ComponentScan(basePackages={"com.joydeep.springboot"}) 

@EntityScan(basePackages={"com.joydeep.springboot.vo"}) 

@EnableJpaRepositories(basePackages={"com.joydeep.springboot"}) 

@componentscan将扫描您的对象,并将它们注册到Spring。

@enablejparepositories将使您的所有Spring JPA存储库能够在应用程序中使用。

 类似资料:
  • 我正在使用Spring开发一个应用程序。在Access Control Access一节中,我想使用Spring Security Acl(我是Acl的新手)。我想在我的应用程序中实现ACL基于两点: 应用程序应该具有以下五种权限:、、、和。 权限是分层的,当用户具有权限时,它应该能够,或者当用户具有权限时,它应该能够、和等。 更新: 我的应用程序是基于Spring MVC RESTful的。当用

  • 本文向大家介绍Android如何实现APP自动更新,包括了Android如何实现APP自动更新的使用技巧和注意事项,需要的朋友参考一下 先来看看要实现的效果图: 对于安卓用户来说,手机应用市场说满天飞可是一点都不夸张,比如小米,魅族,百度,360,机锋,应用宝等等,当我们想上线一款新版本APP时,先不说渠道打包的麻烦,单纯指上传APP到各大应用市场的工作量就已经很大了,好不容易我们把APP都上传完

  • 我写了一个基于Spring-boot、tomcat、freemarker的项目,我运行成功了,但每当我修改一些模板和java类时,我必须重新启动服务器或使用Intellij上的“重新加载更改的类”菜单才能使更改生效。这浪费了很多时间! 然后我尝试使用springloaded如官方所说: 然后我重新运行服务器,但没有按预期工作!我仍然需要重新启动服务器后,任何模板或类的变化。

  • 我正在尝试在Android中实现一个自定义线性布局管理器。用于获得水平自动滑动的RecolyerView。但是当我试图将自定义类调用到主java类中时,我会遇到一些问题。 下面列出了我的代码所面临的问题。 请告诉上述错误的解决方法。另外,请精确的代码,以实现水平自动滑动回收视图。使用我已经提到的自定义线性布局管理器。

  • 问题内容: 我有兴趣在JFrame中提供自动补全框。触发机制将基于助记符(我认为),但是我不太确定“自动补全框”应使用什么(我希望在用户按下键时对结果进行过滤)。 您将如何实施?某种JFrame还是JPopupMenu? 我想知道这是如何实现的,所以请不要发布指向可用的[J] Components的链接。 问题答案: Sun的教程“使用Swing组件”中提供了 一个自动完成文本区域 的示例 。 它

  • 本文向大家介绍如何基于Python实现自动扫雷,包括了如何基于Python实现自动扫雷的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何基于Python实现自动扫雷,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。 一