首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >春藏豆未被发现

春藏豆未被发现
EN

Stack Overflow用户
提问于 2021-09-14 17:42:43
回答 1查看 1.5K关注 0票数 1

我试图用spring在postgres中做一个简单的CRUD,但是没有理由我的IoD机制不能工作,并抛出了这样一个错误:

代码语言:javascript
复制
Description:

Parameter 0 of constructor in br.com.maptriz.formulario_dinamico.service.FormularioDinamicoService required a bean of type 'br.com.maptriz.formulario_dinamico.repository.FormularioDinamicoRepository' that could not be found.


Action:

Consider defining a bean of type 'br.com.maptriz.formulario_dinamico.repository.FormularioDinamicoRepository' in your configuration.

这是我的密码:

FormularioDinamicoApplication.java

代码语言:javascript
复制
package br.com.maptriz.formulario_dinamico;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

// @EnableJpaRepositories("br.com.maptriz.formulario_dinamico.repository")
// @EnableScheduling
// @EnableDiscoveryClient
// @ComponentScan
@SpringBootApplication
public class FormularioDinamicoApplication {

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

FormularioDinamico

代码语言:javascript
复制
package br.com.maptriz.formulario_dinamico.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "formulario_dinamico")
public class FormularioDinamico {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne
    @JoinColumn(name="tipo_tabela")
    private Long tabelaId;
    private String name;
    private String campos;

    protected FormularioDinamico() {}
    
    public FormularioDinamico(Long tabelaId, String name, String campos) {
        this.tabelaId = tabelaId;
        this.name = name;
        this.campos = campos;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getTabelaId() {
        return this.tabelaId;
    }

    public void setTabelaId(Long tabelaId) {
        this.tabelaId = tabelaId;
    } 

    public String getName() {
        return this.name;
    }

    public void setObservacao(String name) {
        this.name = name;
    }

    public String getCampos() {
        return this.campos;
    }

    public void setCampos(String campos) {
        this.campos = campos;
    }

    @Override
    public String toString() {
        return "EntidadeGenerica{" +
                "id=" + id +
                ", dataAtualizacao=" + tabelaId +
                ", dataCadastro=" + name +
                ", observacao='" + campos + '}';
    }
}

FormlarioDinamicoController.java

代码语言:javascript
复制
package br.com.maptriz.formulario_dinamico.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import br.com.maptriz.formulario_dinamico.model.FormularioDinamico;
import br.com.maptriz.formulario_dinamico.service.FormularioDinamicoService;

@RestController
@RequestMapping
public class FormularioDinamicoController {
    private final FormularioDinamicoService service;

    @Autowired
    public FormularioDinamicoController(FormularioDinamicoService service) {
        this.service = service;
    }

    // @GetMapping
    // public List<DynamicForm> getDynamicForm() {
    //     return dynamicFormService.getDynamicForm();
    // }
    
    @PostMapping("/create")
    public void registrarNovoFormularioDinamico(@RequestBody FormularioDinamico formularioDinamico) {
        System.out.println("TEST");
        service.adicionarNovoFormularioDinamico(formularioDinamico);
    }
}

FormularioDinamicoService.java

代码语言:javascript
复制
package br.com.maptriz.formulario_dinamico.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.maptriz.formulario_dinamico.model.FormularioDinamico;
import br.com.maptriz.formulario_dinamico.repository.FormularioDinamicoRepository;

@Service
public class FormularioDinamicoService {
    
    private final FormularioDinamicoRepository repository;

    @Autowired
    public FormularioDinamicoService(FormularioDinamicoRepository repository) {
        this.repository = repository;
    }

    // public List<DynamicForm> getDynamicForm() {
    //  return dynamicFormRepository.findAll();
    // }

    public void adicionarNovoFormularioDinamico(FormularioDinamico formularioDinamico) {
        List<FormularioDinamico> topicos = repository.findAll();
        System.out.println("HEREEEE");
        System.out.println(topicos);
    }
}

最后是FormularioDinamicoRepository.java

代码语言:javascript
复制
package br.com.maptriz.formulario_dinamico.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

import br.com.maptriz.formulario_dinamico.model.FormularioDinamico;



public interface FormularioDinamicoRepository
        extends JpaRepository<FormularioDinamico, Long> {

    List<FormularioDinamico> findAll();
}

我的文件夹结构:

  • java/br/com/maptriz/formulario_dinamico
    • controller
    • model
    • repository
    • service
    • FormularioDinamicoApplication.java

  • src
EN

回答 1

Stack Overflow用户

发布于 2021-09-14 17:48:38

在接口@Repository上添加FormularioDinamicoRepository注释。它应该是无缝工作的。

当您添加它时,spring将它标识为一个bean,并创建一个对象,并将bean注入到自动配置的任何位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69182323

复制
相关文章

相似问题

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