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

 更新时间:2021年11月05日 11:41:04   作者:星辰志  
这篇文章主要介绍了使用@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中并未导入

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

只是导读

<?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才有效

    <!-- 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.解决

原来代码

	@Autowired
	private final AccountDao accountDao;

报错:Field injetion is not recommended

改为

    //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包

如下图所示

在这里插入图片描述

重新启动,错误消失~

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

相关文章

  • Spring MVC的国际化实现代码

    Spring MVC的国际化实现代码

    本篇文章主要介绍了Spring MVC的国际化实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Java文件流关闭和垃圾回收机制

    Java文件流关闭和垃圾回收机制

    本文是关于Java IO文件流和垃圾回收问题,一个小的测试程序搞清楚Java IO的问题,希望能帮助有需要的小伙伴
    2016-07-07
  • mybatis定义sql语句标签之delete标签解析

    mybatis定义sql语句标签之delete标签解析

    这篇文章主要介绍了mybatis定义sql语句标签之delete标签解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Mybatis中拦截器的简单实现方法

    Mybatis中拦截器的简单实现方法

    这篇文章主要给大家介绍了关于Mybatis中拦截器的简单实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Java中Final关键字的使用技巧及其性能优势详解

    Java中Final关键字的使用技巧及其性能优势详解

    这篇文章主要介绍了Java中Final关键字的使用技巧及其性能优势详解,Java中的final关键字用于修饰变量、方法和类,可以让它们在定义后不可更改,从而提高程序的稳定性和可靠性,此外,final关键字还有一些使用技巧和性能优势,需要的朋友可以参考下
    2023-10-10
  • SpringBoot 微信退款功能的示例代码

    SpringBoot 微信退款功能的示例代码

    这篇文章主要介绍了SpringBoot 微信退款功能的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Java中的匿名内部类小结

    Java中的匿名内部类小结

    java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类。这篇文章主要介绍了Java中的匿名内部类的相关资料,需要的朋友可以参考下
    2016-07-07
  • Java生成随机数的2种示例方法代码

    Java生成随机数的2种示例方法代码

    在Java中,生成随机数有两种方法。1是使用Random类。2是使用Math类中的random方法。看下面的例子使用吧
    2013-11-11
  • JAVA实现空间索引编码——GeoHash的示例

    JAVA实现空间索引编码——GeoHash的示例

    本篇文章主要介绍了JAVA实现空间索引编码——GeoHash的示例,如何从众多的位置信息中查找到离自己最近的位置,有兴趣的朋友可以了解一下
    2016-10-10
  • 关于jd-gui启动报This program requires Java 1.8+的错误问题及解决方法

    关于jd-gui启动报This program requires Java 1.8+的错误问题及解决方法

    最近,在Mac使用上JD-GUI启动时总是报错,接下来通过本文给大家介绍关于jd-gui启动报this program requires Java 1.8+的错误问题及解决方法,需要的朋友可以参考下
    2022-05-05

最新评论