Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • Linux

  • 数据结构与算法

  • 算法设计与分析

  • Java

  • Python

  • 设计模式

  • 计算机网络

  • Spring笔记

    • Spring概述
    • IOC的概念作用
    • bean标签
    • 基于XML创建bean对象
    • 基于XML的依赖注入
    • 基于注解创建bean对象
    • 基于注解的依赖注入
      • 基于注解的依赖注入
        • @Autowired
        • @Qualifier
        • @Resource
        • @Value
    • 其他注解
    • AOP
  • SpringMVC笔记

  • SpringBoot笔记

  • SpringSecurity

  • Elasticsearch笔记

  • RabbitMQ笔记

  • Docker笔记

  • MySQL

  • Redis

  • Mybatis

  • MybatisPlus

  • Nginx

  • Kubernetes笔记

  • Git

  • Software

  • 微服务笔记

  • bug

  • BackEndNotes
  • Spring笔记
Geeks_Z
2023-01-15
目录

基于注解的依赖注入

基于注解的依赖注入

作用:等同于在<bean>标签中写一个 <property> 标签

@Autowired

作用:自动按照类型注入,当使用注解注入属性时,set 方法可以省略。它只能注入其他 bean 类型。只要容器中有唯一的一个 bean 对象类型和要注入的变量类型匹配, 就可以注入成功;如果IOC容器中没有任何 bean 的类型和要注入的变量类型匹配,则报错;当有多个类型匹配时,使用要注入的对象变量名称作为 bean 的 id,在 spring 容器查找,找到了也可以注入成功。找不到就报错。

image-20220207201454392

  • 出现位置:可以是变量上,也可以是方法上

  • 细节:在使用注解注入时,set 方法就不是必须的了

@Qualifier

  • 作用:在按照类型注入的基础上再按照名称注入,它在给类成员注入时不能单独使用,但是在给方法参数注入时可以。

  • 属性:

    value : 用于指定注入的 bean 的 id @Qualifier可以被用在单个构造器或者方法的参数上。当上下文有几个相同类型的bean, 使用@Autowired则无法区分要绑定的bean,此时可以使用@Qualifier来指定名称。

@Component
public class User{
    @Autowired
    @Qualifier("address1")    
    private Address address;
}

1
2
3
4
5
6
7

@Resource

  • 作用:直接按照 bean 的 id 注入,可以直接使用

  • 属性: name : 用于指定 bean 的 id

  • 等同于@Autowired+@Qualifier

以上三个注入都只能注入其他 bean 类型的数据,而基本类型和 String 类型的数据无法使用上述注解实现。另外,集合类型的注入只能通过 xml 配置文件实现

@Value

  • 作用:用于注入基本类型和 String 类型的数据

  • 属性:

    value : 用于指定数据的值,它可以使用 Spring 中 Spel (即spring的el表达式)

    Spel 的写法:${表达式}

上次更新: 2024/03/29, 08:56:31
基于注解创建bean对象
其他注解

← 基于注解创建bean对象 其他注解→

最近更新
01
并行训练
03-29
02
tensor维度转换
03-26
03
ResNet源码解读
03-23
更多文章>
Theme by Vdoing | Copyright © 2022-2024 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式