服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 使用@Autowired注解引入server服务层方法时报错的解决

使用@Autowired注解引入server服务层方法时报错的解决

2022-07-08 09:55星辰志 Java教程

这篇文章主要介绍了使用@Autowired注解引入server服务层方法时报错的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

@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接口,

3、可能有一系列可读性属性,

4、可能有一系列的getter或setter方法。

javabean属性

一个javabean对象的属性应该是可访问的,这个属性可以是任意合法的java数据类型,包括自定义java类。

一个javabean对象的属性可以是可读写,或只读,或只写。javabean对象的属性通过javabean实现类中提供的两个方法来访问

方法

  • getpropertyname():举例来说,如果属性的名称为myname,那么这个方法的名字就要写成getmyname()来读取这个属性。这个方法也被称为访问器。
  • setpropertyname():举例来说,如果属性的名称为myname,那么这个方法的名字就要写成setmyname()来写入这个属性。这个方法也被称为写入器。

一个只读的属性只提供getpropertyname()方法,一个只写的属性只提供setpropertyname()方法。

@autowried的作用是什么?

@autowried是一个注释,它可以对类成员变量、方法及构造函数进行标注、让spring完成bean自动装配的工作。

@autowried默认是按照类去匹配,配合@qualifier指定按照名称去装配bean

错误真正原因是在serveimpl中并未导入

使用@Autowired注解引入server服务层方法时报错的解决

问题得到解决,附上网上解决问题的网址,以上哪两种方法也能用暂不清楚是怎么回事

使用@Autowired注解引入server服务层方法时报错的解决

只是导读

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
    xsi:schemalocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">
 
    <bean id="..." class="..."
        <!-- collaborators and configuration for this bean go here -->
    </bean>
 
    <bean id="..." class="...">
        <!-- collaborators and configuration for this bean go here -->
    </bean>
 
    <!-- more bean definitions go here -->
 
</beans>

上述是原始的xml文件,如果此时的 <bean id=" " class=" "></bean>就相当于注释的 @component而 @service是@component衍生,而autowire在xml是bean的属性,所以只有@component存在@autowire才有效

?
1
2
3
4
5
6
7
<!-- byname会自动再容器上下文中查找,何自己对象set方法后面的值是对立的beanid -->
<!-- bytype必须保证类型全局唯一会自动再容器上下文中查找,和自己对象set方法后面的值是对立的bean -->
   <bean id="people" class="com.chen.pojo.people" autowire="bytype">
       <property name="name" value="天明"></property>
        <property name="dog" ref="dog"></property>
      <property name="cat" ref="cat"></property>
   </bean>

关于@autowired 注解时发生的错误

1. field injetion is not recommended

2. spring boot自动注入出现consider defining a bean of type ‘xxx' in your configuration问题

1.解决

原来代码

?
1
2
@autowired
private final accountdao accountdao;

报错:field injetion is not recommended

改为

?
1
2
3
4
5
6
//final 非必要
private final accountdao accountdao;
@autowired
public 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包

如下图所示

使用@Autowired注解引入server服务层方法时报错的解决

重新启动,错误消失~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家.

原文链接:https://blog.csdn.net/jaquechen/article/details/106314745

延伸 · 阅读

精彩推荐
  • Java教程带你了解Java的类和对象

    带你了解Java的类和对象

    下面小编就为大家带来一篇全面理解Java类和对象。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    梦想成为光头强!6132021-12-28
  • Java教程从零开始学JAVA之可变参数

    从零开始学JAVA之可变参数

    本文是从零开始学JAVA的第一篇,属于Java基础知识介绍的第一部分,主要介绍Java的可变参数,非常使用,希望对大家有所帮助 ...

    hebedich2332019-12-03
  • Java教程idea 修改项目名和module名称的操作

    idea 修改项目名和module名称的操作

    这篇文章主要介绍了idea 修改项目名和module名称的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    sky_jiangcheng4402021-08-08
  • Java教程使用@RequestBody传对象参数时碰到的坑

    使用@RequestBody传对象参数时碰到的坑

    这篇文章主要介绍了使用@RequestBody传对象参数时碰到的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    青鱼入云10142021-11-25
  • Java教程spring-session简介及实现原理源码分析

    spring-session简介及实现原理源码分析

    这篇文章主要介绍了spring-session简介及实现原理源码分析,具有一定参考价值,需要的朋友可以了解下。...

    孤客_9042021-02-24
  • Java教程在Window系统下安装Netbeans9的方法

    在Window系统下安装Netbeans9的方法

    今天小编就为大家分享一篇关于在Window系统下安装Netbeans9的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...

    Sam哥哥4532021-06-19
  • Java教程SpringBoot返回多种格式的数据的实现示例

    SpringBoot返回多种格式的数据的实现示例

    本文主要介绍了SpringBoot返回多种格式的数据的实现示例,主要包括了FastJson,xml,pdf,excel,资源流,具有一定的参考价值,感兴趣的可以了解一下...

    NicholasGUB9142022-03-06
  • Java教程Java中精确的浮点运算操作示例

    Java中精确的浮点运算操作示例

    这篇文章主要介绍了Java中精确的浮点运算操作方法,结合具体实例形式分析了java浮点数运算的相关函数、使用技巧与注意事项,需要的朋友可以参考下...

    qq73422724632020-11-13