使用@Autowired注解引入server服务层方法时报错的解决
目录
- @Autowired注解引入server服务层方法时报错
- 网上搜的方法:还行
- JavaBean属性
- 方法
- 关于@Autowired 注解时发生的错误
- 1.解决
- 2.解决
@Autowired注解引入server服务层方法时报错
contentTypeService in com.example.demo001.controller.ContentTypeController required a bean of type 'com.example.demo001.service.ContentTypeService' that could not be found
网上搜的方法:还行
方式一:@Autowried(required = false)设置required属性值为false,错误消失
方式二:用@Resource注解替换@Autowried注解,错误消失
JavaBean是特殊的Java类、使用Java语言书写,并且遵守JavaBean API规范。JavaBean与其他Java类相比而言独一无二的特征是:
1、提供一个默认的无参构造函数。
2、需要序列化并且实现了Serializable接口,
【使用@Autowired注解引入server服务层方法时报错的解决】3、可能有一系列可读性属性,
4、可能有一系列的getter或setter方法。
JavaBean属性
一个JavaBean对象的属性应该是可访问的,这个属性可以是任意合法的Java数据类型,包括自定义Java类。
一个JavaBean对象的属性可以是可读写,或只读,或只写。JavaBean对象的属性通过JavaBean实现类中提供的两个方法来访问
方法
getPropertyName()
:举例来说,如果属性的名称为myName,那么这个方法的名字就要写成getMyName()来读取这个属性。这个方法也被称为访问器。setPropertyName()
:举例来说,如果属性的名称为myName,那么这个方法的名字就要写成setMyName()来写入这个属性。这个方法也被称为写入器。
@Autowried的作用是什么?
@Autowried是一个注释,它可以对类成员变量、方法及构造函数进行标注、让spring完成bean自动装配的工作。
@Autowried默认是按照类去匹配,配合@Qualifier指定按照名称去装配bean
错误真正原因是在serveImpl中并未导入
文章图片
问题得到解决,附上网上解决问题的网址,以上哪两种方法也能用暂不清楚是怎么回事
文章图片
只是导读
上述是原始的xml文件,如果此时的
关于@Autowired 注解时发生的错误
1. Field injetion is not recommended
2. spring boot自动注入出现Consider defining a bean of type ‘xxx' in your configuration问题
1.解决
原来代码
@Autowired private final AccountDao accountDao;
报错:Field injetion is not recommended
改为
//final 非必要 private final AccountDao accountDao; @Autowiredpublic AccountController(AccountDao accountDao) {this.accountDao = accountDao; }
错误消失
注:还是警告的话,直接将@Autowired注解改为@Resource注解可以消除警告(不影响注入)
2.解决
原来将account 也就是entity 和dao 放在了controller的上层目录里
报错:Consider defining a bean of type ‘xxx' in your configuration
把entity和dao放在controler同级目录或者我放在了同级目录所在account包里
如下图所示
文章图片
重新启动,错误消失~
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家.
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- SpringBoot调用公共模块的自定义注解失效的解决
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用