@Autowired配合@Qualifier注解不生效,找不到bean

2023-11-22 13:30

本文主要是介绍@Autowired配合@Qualifier注解不生效,找不到bean,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有没有倒霉的小朋友和我一起学SpringMVC然后根据教程,在学SpringMVC错误处理的时候,明明代码跟教程一样,可是这句@Qualifier("studentValidator")死活是红色,报错不生效,找不到bean 

解决方法是在StudentValidator那个类上加注解@Component("studentValidator")

如下所示

至于为什么会这样

我觉得主要是我几个注解的意思没弄明白

@Autowired:

大概是如果一个Boss 类包含了 Car类和Officel类,正常来讲,bean文件里需要写

 <bean id="boss" class="com.baobaotao.Boss">    

        <property name="car" ref="car"/>    

        <property name="office" ref="office" />    

    </bean>    

但是如果car类和Office类加了@Autowired注解

那么

public class Boss {   

    @Autowired   

    private Car car;    

   @Autowired   

    private Office office;   

…    

}     

 <bean id="boss" class="com.baobaotao.Boss"/>    

 

@Qualifier

@Auttowired是根据类型注入的 by-type,如果很多type相同的话,需要指明具体的类型

比如说这句,你如果不加@Qualifier,你知道你的Validator是普通的Validator还是实现了接口的StudentValidator

所以要加

@Component

把普通的pojo对象实例化Spring容器中

大致相当于在配置文件里不用写

<bean id =    class =    >

所以如果没有这个注解。。。。spring可能找不到这个类,我这次错误的原因就是根本找不到StudentValidator这个bean嘛

@ModelAtrribute

没看懂其他csdn讲的,如果有哪位大佬有看懂了的,可以在评论分享下链接给我

我唯一知道的就是这个注释将数据添加到模型对象中,在jsp页面可以负责展示

 

这篇关于@Autowired配合@Qualifier注解不生效,找不到bean的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410468

相关文章

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于