我该如何解决无法找到所需类型的bean的问题?

时间:2019-01-13 18:48:41

标签: java spring

我一直遇到错误:"required a bean that could not be found." 而且我真的不知道为什么了。

我看到很多人以前都遇到过同样的问题,但是给出的答案对我来说都不起作用。尝试重新排列软件包,将@ComponentScan添加到应用程序中,但无济于事。

我的控制器的一部分:

@RestController
@RequestMapping("/api")
public class JavarskiKontroler {

@Autowired
private JavarService javarService;

@RequestMapping("/javari")
public List<Javar> getAllJavars() {
    return javarService.getAllJavars();
}

@PostMapping("/javar")
public Javar createJavar(@Valid @RequestBody Javar note) {
    return javarService.createJavara(note);
}

我的服务实现(JavarService)的一部分:

@Service
public class JavarService {


@Autowired
private Javarer javarica;

public List<Javar> getAllJavars() {

    return javarica.findAll();
}

public Javar createJavara(Javar note) {

    return javarica.save(note);
}

我的服务(Javarer):

@Repository
public interface Javarer extends JpaRepository<Javar, Integer> {
}

以及我不断遇到的错误:

说明:

 Field javarService in controller.JavarskiKontroler required a bean of type 'serviceImpl.JavarService' that could not be found.

The injection point has the following annotations:
- 
@org.springframework.beans.factory.annotation.Autowired(required=true)

 Action:

 Consider defining a bean of type 'serviceImpl.JavarService' in your configuration.

project structure:

如果有人至少可以将我指向下一步我应该寻找解决方案的地方,那就太好了。

1 个答案:

答案 0 :(得分:1)

您的软件包是非结构化的,请使用@CompnentScan,包括Main类上的软件包名称

@ComponentScan(basePackages = {"controller", "domain", "exception", "service" })