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;
相关推荐
未来影子几秒前
Java领域构建Agent新杀入一匹黑马(agentscope-java)
java·开发语言·python
靓仔建几秒前
在asp.net web应用程序,老是访问同一个Handler1.ashx
后端·asp.net·一般处理程序
周杰伦_Jay4 分钟前
【Spring AI】Spring生态AI应用开发框架
人工智能·spring·rxjava
goxingman4 分钟前
实体类上关于时间字符串和时间字段转换涉及注解分析
java·开发语言
QK芒果小洛13 分钟前
Springboot 接口校验数组中的对象的方式
java·spring boot·后端
AAA简单玩转程序设计15 分钟前
Java Map遍历的“优雅”合集
java·前端
qq_124987075317 分钟前
基于微信小程序的民宿预订系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·微信小程序·毕业设计
长安er18 分钟前
LeetCode 98. 验证二叉搜索树 解题总结
java·数据结构·算法·leetcode·二叉树·力扣
Pypirus19 分钟前
Vert.x + Kotlin 手写 Web 框架:从 Tomcat + Spring MVC 到响应式核心
后端
guchen6620 分钟前
LINQ集合修改异常深度解析:ToList()的救场时刻
后端