Spring——注解实现自动装配

使用注解须知:

  1. 导入约束:context约束

  2. 配置注解的支持:context:annotation-config

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
		https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context
		https://www.springframework.org/schema/context/spring-context.xsd">

	<context:annotation-config/>

</beans>

@Autowired

直接在属性上使用即可,也可以在set方式上使用

使用Autowired时,可以不用编写set方法,前提是自动装配的属性在ioc(Spring)容器中存在,且符合名字byname!

测试代码:

java 复制代码
public class People {

    // 如果显示定义了Autowired的required属性为false,说明这个对象可以为null,否则不允许为空
    @Autowired(required = false)
    private Cat cat;
    @Autowired
    private Dog dog;
    private String name;
}

如果@Autowired自动装配的环境比较复杂,自动装配无法通过一个注解【@Autowired】完成的时候,我们可以使用@Qualifier(value="xxx")去配合@Autowired的使用,指定一个唯一的bean对象注入。

java 复制代码
public class People {

    // 如果显示定义了Autowired的required属性为false,说明这个对象可以为null,否则不允许为空
    @Autowired(required = false)
    @Qualifier(value = "cat111")
    private Cat cat;
    
    @Autowired
    @Qualifier(value = "dog222")
    private Dog dog;
    private String name;
相关推荐
xiaowu0801 分钟前
IEnumerable、IEnumerator接口与yield return关键字的相关知识
java·开发语言·算法
笨手笨脚の5 分钟前
深入理解 Java 虚拟机-01 JVM 内存模型
java·jvm··虚拟机栈·方法区
王家视频教程图书馆12 分钟前
android java 开发网路请求库那个好用请列一个排行榜
android·java·开发语言
花卷HJ13 分钟前
Android 文件工具类 FileUtils(超全封装版)
android·java
rchmin14 分钟前
ThreadLocal内存泄漏机制解析
java·jvm·内存泄露
黎雁·泠崖16 分钟前
Java 方法栈帧深度解析:从 JIT 汇编视角,打通 C 与 Java 底层逻辑
java·c语言·汇编
java资料站20 分钟前
springBootAdmin(sba)
java
独自归家的兔31 分钟前
基于 cosyvoice-v3-plus 的简单语音合成
人工智能·后端·语音复刻
AscendKing31 分钟前
接口设计模式的简介 优势和劣势
java
踏浪无痕36 分钟前
从 node-exporter 学如何写出可复用的监控指标
运维·后端·架构