解决异常Error creating bean with name 'xxxxxController': Unsatisfied dependency expressed through field

结果

已经修改了BUG,所以不能贴出完整异常内容
这一类异常修改比较简单,第一次遇见可能会头疼,如果把整个过程梳理一边就没有那么麻烦了

主要异常

Error creating bean with name ‘catalogController’: Unsatisfied dependency expressed through field ‘userDetailsService’;
nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name ‘userServiceImpl’: Unsatisfied dependency expressed through field ‘userRepository’;
nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name ‘userRepository’: Invocation of init method failed;
nested exception is java.lang.IllegalArgumentException: Failed to create query method public abstract java.util.List com.liangle.spring.boot.blog.dao.UserRepository.findByUsernameIn(java.util.Collection)! Could not determine a type for class: java.util.Collection

思路

1查看entity下的所有体类一起其他实体类,检查时候有@Entity标注
2检查标注位置:不能对属性和getter方法混合标注(我的问题不是这个,开始我都不理解这句话的意思)

	class Modw{
		@属性标注
		int name;
		int age;
		int getName(){
			return this.name;
		}
		@getter标注
		int getAge(){
			return this.age;
		}
	}

上面这种写法会产生不能识别 实体类的异常
3@Data标注问题 (这个是我出现的问题)
@Data标注可以简化代码,IDE会自动添加类下所有属性的getter和setter方法,但是你却看不见,如下

	@Data
	class Mode{
		int name;
		int age;
	}

这样使用Mode对象也可以调用getName方法,即使类Mode并没有这个方法。因为@Data已经帮你写好了

添加@Data的前提
使用Data注解需要下载lombok的jar包,还需要给IDE添加插件。我使用的IDE
是Eclipse。使用java -jar ***/lombok.jar命令启动安装程序,选择Eclispe路径后显示安装成功
我依照教程clean了我的项目,@Data生效了,但是却不能启动了,每次都会抛出这个异常

原因

java -jar命令安装后,lombok.jar会自动备份一个到Eclipse的根目录下,我引用的jar包并不是这个jar,而是Gradle为我下载的lombok,我把Gradle中的lombok移除后,添加额外的包(Eclipse根目录),项目启动
网上提供的其他思路(没有实际操作)
lombok安装成功后可以从Eclipse根目录下的一个*.ini文件中查看到,文件的名字忘记了。在最后一行会多出一行描述。把这个路径修改成Gradle中lombok的路径就好了了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值