zoukankan      html  css  js  c++  java
  • (005)spring注解@Resource和@Autowire的区别

    Autowire:  

      1、Autowire是spring的注解,默认先按照类型装配,如果没有找到这个类型的bean或者找到多个这个类型的bean但是多个bean的名字没有与属性名相同的,会报错。

      2、如果找到多个这个类型的bean但是多个bean的名字中有与属性名相同的,则按照该bean的名字装配,不会报错。

      3、如果使找不到要注入的bean时也不会报错,可设置required为false。

      4、如果使其按照名字装配,可以使用@Qualifier注解,如@Qualifier("userDao")表示,使用名字为userDao的bean

    Resource:

      1、Resource是j2ee的注解,默认先按照名字进行装配,如果没有找到这个类型的bean或者找到多个这个类型的bean但是多个bean的名字没有与属性名相同的,会报错。

      2、如果找到多个这个类型的bean但是多个bean的名字中有与属性名相同的,则按照该bean的名字装配,不会报错。

      3、Resource可以指定 bean的名字,如@Resource(name="userDao")表示,取bean的名字为userDao的bean装配

    总结:

      1、Autowire是spring的注解,默认先按照类型装配,Resource是j2ee的注解,默认先按照名字进行装配

      2、存在多个bean时,如果属性名不与bean的名字相同,必须指定使用哪个bean,否则会报错

      3、Resource除了使用Qualifier注解,还可以它的name属性来指定使用哪个bean

  • 相关阅读:
    .Net EF中DbContext动态生成DbSet
    .net core 3.0 中间件或过滤器中读取post请求body方法
    Asp.Net Core 5 WebAPI发布后的Swagger不显示问题
    .net Core 使用Swagger 让某些接口不显示在文档
    C# Request.InputStream 读取输入流为空的原因处理
    ASP.NET 中的缓存
    缓存依赖(文件、数据库)
    NLTK基本使用
    NLTK基本使用
    NLTK的基本使用
  • 原文地址:https://www.cnblogs.com/javasl/p/11783483.html
Copyright © 2011-2022 走看看