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;
相关推荐
桐薇全肯定32 分钟前
MySQL学生成绩管理系统实战操作
java·数据库·sql
武子康38 分钟前
权重已到、Recipe 还在变:Kimi K3 发布后该怎样做工程验收
人工智能·后端·agent
Nuanyt1 小时前
SSM 学习记录 第二部分 Spring整合Mybatis&Junit AOP核心概念 Spring事务管理 SpringMVC 请求与响应 Rest风格
java·spring·junit·mybatis·restful
站大爷IP1 小时前
列表推导式一用就爽?大数据量下它把我服务器内存榨干了,原来生成器才是yyds
后端
Slice_cy1 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(二)
前端·后端·架构
程序员cxuan1 小时前
OpenAI 把 Hugging Face 打穿了,然后 GLM 5.2 当了救火队长?
人工智能·后端·程序员
醉城夜风~1 小时前
C++模板详解:从基础到高级全面解析
java·开发语言·c++
米码收割机2 小时前
【SSM】Spring MVC_MyBatis SSM商城系统(源码+论文)【独一无二】
spring·mvc·mybatis
程序员天天困2 小时前
Arthas Profiler 火焰图实战:CPU 热点在哪一目了然
java·jvm·后端