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

Springboot和IDEA错误:无法自动连线。未找到“EntityLinks”类型的bean

衡子安
2023-03-14

我将跟随《Spring行动》第五版学习Springboot。当我读到第6章时,我发现我的IDE想法似乎对bean org有一个bug。springframework。哈提奥斯。服务器实体链接。

package tech.enigma.web.api;

import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.hateoas.server.EntityLinks;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import tech.enigma.Taco;
import tech.enigma.data.TacoRepository;


@RestController
@RequestMapping(path = "/design", produces = "application/json")
@CrossOrigin(origins = "*")
public class DesignTacoController
{
    private TacoRepository tacoRepo;
    private EntityLinks entityLinks;

    public DesignTacoController(TacoRepository tacoRepo, EntityLinks entitylinks)
    {
        this.tacoRepo = tacoRepo;
        this.entityLinks = entitylinks;
    }

    @GetMapping("/recent")
    public Iterable<Taco> recentTacos()
    {
        PageRequest page = PageRequest.of(
                0, 12, Sort.by("createAt").descending());

        return tacoRepo.findAll(page).getContent();
    }
}

在public DesignTacoController(TacoRepository tacoRepo,EntityLinks EntityLinks)构造函数中,IDEA给出了一个错误“无法自动连线。未找到'EntityLinks'类型的bean”我可以编译和运行我的程序,尽管我不确定它是否正常工作。其他豆子都可以。这只是个想法错误还是我搞错了?

共有2个答案

孔俊爽
2023-03-14

@自动配发的注释丢失。要么做构造函数注入,要么做setter注入,然后它就可以工作了。

package tech.enigma.web.api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.hateoas.server.EntityLinks;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import tech.enigma.Taco;
import tech.enigma.data.TacoRepository;


@RestController
@RequestMapping(path = "/design", produces = "application/json")
@CrossOrigin(origins = "*")
public class DesignTacoController
{
    @Autowired
    private TacoRepository tacoRepo;
    @Autowired
    private EntityLinks entityLinks;

   

    @GetMapping("/recent")
    public Iterable<Taco> recentTacos()
    {
        PageRequest page = PageRequest.of(
                0, 12, Sort.by("createAt").descending());

        return tacoRepo.findAll(page).getContent();
    }
}
阎慈
2023-03-14

这是一个已知的问题。由于对自动配置资源的不正确扫描,IntelliJ不会总是拾取所有可用的bean。重要的是Spring运行时。如果它不导致错误,您可以走了。

 类似资料: