多语言展示
当前在线:245今日阅读:167今日分享:16

Error creating bean with name报错 解决方案

在我们启动一个项目的时候,有时候就会出现Spring的Bean创建错误,就是Error creating bean with name这个错误,在这里,我们主要介绍由注解引起的Injection of autowired dependencies failed错误,这个是因为注解没有加,或者是注解使用不当导致的报错,各位在看完这一篇经验之后就会很快的解决这个报错问题,也希望各位在阅读本经验之后可以学有所得。
工具/原料
1

Eclipse 2017版本及以上

2

java jdk1.8及以上

3

我们需要启动起来的项目

方法/步骤
1

首先还是让我们先来看一下报错的详细信息,如下图:我们这里报的是:Error creating bean with name 'repositoryController': Injection of autowired dependencies failed错误,autowired,我们都知道,这个是Spring MVC的一个注解,所以这个错误肯定和我们Controller之中的autowired注解相关。

2

我们来看一下我们相关的'repositoryController'之中的autowired注解有什么错误把,我们可以先把我们报的错误向后看一看,它显示我们是在tnDeviceService之中报错的,当然这个每个人可能不一样,可能是controller层,也可能是service层或者是Dao层的错误。下面是我们的sevice报错以及我们的controller相关的位置:

3

我们可以明确的知道就是我们这里的autowired有些问题,我们要关注一下我们controller的注解,一定需要有@controller注解以及@autowired注解。而我们的Service层以及Dao层需要分别有@Service以及@Dao注解。下面是我们的Service层的代码图:

4

从上图,我们可以看到我们缺少了相关的service层的@service注解,那是不是我们只需要加上我们的@service就可以了呢?事实上是不能这么草草做决定的,因为Service层可能会拥有一个impl这个接口,而@service只需要在接口上加注解就行了,仅仅在service上面加@service是不够的,所以我们要检测一下我们是否有同名称的impl文件,我这里显然是有的。

5

接下来的任务就很轻松了,打开我们的impl文件,然后加上我们所需要的@service注解,就可以成功运行了,下面让我们来打开我们的impl文件,以及加上@service注解:加上注解之后,就可以启动我们的项目运行一次看看了。

6

经过这样子的修改,我们的程序终于可以成功运行起来了,我们可以看到没有了报错,世界瞬间清静了,我们的server也成功运行了起来,是不是很轻松呢?

注意事项
1

我这里只演示了service的报错,dao以及controller同理,务必仔细观察报错的细节,对症下药

2

不加注解会导致报错,但是乱加注解也会导致报错!!!务必切记

推荐信息