spring项目无法引入@Resource注解问题[通俗易懂]

spring项目无法引入@Resource注解问题[通俗易懂]问题:在spring项目中引入@Resource注解的时候,有红色下划线错误,而且输入注解的时候不能出现自动代码补全。解决办法:Spring项目中缺少javax.annotation包的依赖。在maven配置文件pom.xml中加入依赖。<!– https://mvnrepository.com/artifact/javax.annotation/javax.annotation…

大家好,又见面了,我是你们的朋友全栈君。

问题:在spring项目中引入@Resource注解的时候,有红色下划线错误,而且输入注解的时候不能出现自动代码补全。

解决办法:Spring项目中缺少javax.annotation包的依赖。在maven配置文件pom.xml中加入依赖。

<!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.2</version>
</dependency>

1、在spring的配置文件中导入命名空间  
 

  xmlns:context="http://www.springframework.org/schema/context"       

  http://www.springframework.org/schema/context         

 http://www.springframework.org/schema/context/spring-context-2.5.xsd

 2、引入注解解析器  

context:annotation-config></context:annotation-config>

 3、在spring的配置文件中把bean引入进来  

 4、在一个类的属性上加      

 

  @Resource(name="student_annotation")
            private Student student;
         从该注解本身
               @Target({TYPE, FIELD, METHOD})
               @Retention(RUNTIME)
               public @interface Resource {
                  String name() default "";
               }

        1、该注解可以用于属性上或者方法上,但是一般用于属性上 

           2、该注解有一个属性name,默认值为””

   5、分析整个过程

        1、当启动spring容器的时候,spring容器加载了配置文件

        2、在spring配置文件中,只要遇到bean的配置,就会为该bean创建对象

        3、在纳入spring容器的范围内查找所有的bean,看哪些bean的属性或者方法上加有@Resource

        4、找到@Resource注解以后,判断该注解name的属性是否为””(name没有写)

              如果没有写name属性,则会让属性的名称的值和spring中ID的值做匹配,如果匹配成功则赋值

       如果匹配不成功,则会按照类型进行匹配,如果匹配不成功,则报错

       如果有name属性,则会按照name属性的值和spring的bean中ID进行匹配,匹配成功,则赋值,不成功则报错

——————————————————————————————————————————————————————

 

坚持总结工作中遇到的技术问题,坚持记录工作中所思所见。群中可下载相关资料

  spring项目无法引入@Resource注解问题[通俗易懂]spring项目无法引入@Resource注解问题[通俗易懂]

spring项目无法引入@Resource注解问题[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147248.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 毕业设计——基于小程序云开发的校园二手交易平台(附源码)

    毕业设计——基于小程序云开发的校园二手交易平台(附源码)本系统基于微信小程序云开发,采用小程序原生框架,不需要后端开发,数据库和CMS云开发全帮你搞定,对后端开发能力薄弱的同学超友好的有木有,只要你学过HTML+CSS+JS就能实现所有功能。一、功能介绍使用该系统的角色有两个,分别是用户和管理员,用户通过微信小程序进入该系统,该角色功能主要由七个模块组成,分别是用户登录、搜索商品、发布商品、管理商品、购买商品、收藏商品、以及评论留言。管理员通过小程序自带的内容管理平台实现后台管理,可对商品信息、留言板以及用户等数据进行增、删、改、查操作。二、业务流程图

    2022年6月19日
    25
  • 557. Reverse Words in a String III

    557. Reverse Words in a String III

    2021年6月10日
    120
  • mysql数据类型有哪几种_数据库 数据类型

    mysql数据类型有哪几种_数据库 数据类型Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。整数浮点数&定点数注:定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。时间/日期类型字符串类型blog-二进制大对象,用来存储可变数量的数据。…

    2022年9月20日
    0
  • php实现页面跳转的方式_html跳转代码

    php实现页面跳转的方式_html跳转代码在php中要实现跳转有很多方法,最常规的跳转方法就是使用header函数来操作了,当然也可以在php中输入js跳转形式,下面我来给大家介绍一下。PHP跳转代码如下复制代码header(“location:http://www.jquerycn.cn”);?>header函数使用PHP页面跳转一、header()函数header()函数是PHP中进…

    2022年8月13日
    3
  • 通过C# 代码实现webservice 的调用

    通过C# 代码实现webservice 的调用

    2021年8月20日
    64
  • Symantec赛门铁克安全软件免密卸载方式[通俗易懂]

    Symantec赛门铁克安全软件免密卸载方式[通俗易懂]装了Symantec后,后面希望卸载他,结果发现卸载需要卸载口令,查了一堆资料,总结有如下几种:1、卸载口令可能是symantec,反正没成本可以简单试试看。不过我是没有通过,这个口令不对我的Symantec。2、使用cleanwipe进行卸载,这是官方的用于卸载Symantec软件的工具。工具很小,应该有版本要求,旧版的不能完成卸载。推荐使用这个方式。我用的是CleanWipe_14.3.558.1000,选中下图中框出来的三个勾,直接下一步即可完成卸载。链接:https://pan.baidu.

    2022年5月1日
    189

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号