spring03:bean的自动装配

spring03:bean的自动装配


文章目录

  • spring03:bean的自动装配
  • 前言:
  • 一、 在xml中显示的配置:
      • 分析:
    • People类:
    • Cat类:
    • Dog类:
    • 1. 在xml中显示的配置:
  • 二、 隐式的自动装配bean【重要】
      • 分析:
    • 1. byName:bean id
      • byname的时候,需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法的值一致
    • 2. byType:bean class
      • bytype的时候,需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型一致
  • 三、 使用注解实现自动装配:@Autowired + @Qualifier(value="")
    • 分析:
  • 总结


前言:

在这里插入图片描述


提示:以下是本篇文章正文内容:

一、 在xml中显示的配置:

分析:

在这里插入图片描述



People类:

public class People {private Cat cat;private Dog dog;private String name;public Cat getCat() {return cat;}public void setCat(Cat cat) {this.cat = cat;}public Dog getDog() {return dog;}public void setDog(Dog dog) {this.dog = dog;}public String getName() {return name;}public void setName(@Nullable String name) {this.name = name;}@Overridepublic String toString() {return "People{" +"cat=" + cat +", dog=" + dog +", name='" + name + '\'' +'}';}
}

Cat类:

public class Cat {public void shut(){System.out.println("miaomiaomiao");}
}

Dog类:

public class Dog {public void shut(){System.out.println("wangwangwang");}
}

1. 在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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd">// cat 和 dog的 bean对象:<bean id="cat" class="com.huxiao.pojo.Cat"></bean><bean id="dog" class="com.huxiao.pojo.Dog"></bean>// people的 bean对象:<bean id="people" class="com.huxiao.pojo.People">(看这里)<property name="name" value="胡潇"></property><property name="cat" ref="cat"></property><property name="dog" ref="dog"></property></bean>
</beans>


二、 隐式的自动装配bean【重要】

分析:

在这里插入图片描述



1. byName:bean id

byname的时候,需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法的值一致

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd">// cat 和 dog的 bean对象:<bean id="cat" class="com.huxiao.pojo.Cat"></bean><bean id="dog" class="com.huxiao.pojo.Dog"></bean>// people的 bean对象:<bean id="people" class="com.huxiao.pojo.People" autowire="byName">(看这里)<property name="name" value="胡潇"></property></bean>
</beans>

2. byType:bean class

bytype的时候,需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型一致

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd">// cat 和 dog的 bean对象:<bean id="cat" class="com.huxiao.pojo.Cat"></bean><bean id="dog" class="com.huxiao.pojo.Dog"></bean>// people的 bean对象:<bean id="people" class="com.huxiao.pojo.People" autowire="byType">(看这里)<property name="name" value="胡潇"></property></bean>
</beans>


三、 使用注解实现自动装配:@Autowired + @Qualifier(value=“”)

分析:

在这里插入图片描述



在这里插入图片描述



在这里插入图片描述


总结

提示:这里对文章进行总结:

💕💕💕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

量子密钥分发系统设计与实现(一):系统基本架构讨论

经过一段时间讨论&#xff0c;我们了解到量子密钥分发设备是当前量子保密通信系统的基础。从本文开始&#xff0c;我将开启量子密钥分发系统设计与实现系列&#xff0c;详细讨论量子密钥分发设备如何从0到1的搭建。 1.QKD系统总体讨论 QKD系统的核心功能就是为通信双方提供理论…

聊聊最近两星期的学习吧!

今天是4月14号。 自从我3月份回到学校之后&#xff0c;我每天都有记录自己的学习时长。今天晚上&#xff0c;我在复盘我自己学习时长的时候&#xff0c;我发现&#xff0c;在整个四月份&#xff0c;我平均每天的有效学习时长只有6h&#xff0c;而且到今天为止&#xff0c;整个四…

写作对于技术人来说是最好的投资

上周日参加了腾讯云开发者社区和墨问西东组织的技术创作特训营活动&#xff0c;今天复盘一下。 虽说是技术创作特训营&#xff0c;现场到场的超过半数也都是技术人&#xff0c;但是分享的内容并不局限于技术人。 这次分享包括四个部分的内容&#xff0c;四个部分内容是一个体…

Excel使用 CONCATENATE 函数或“”符号拼接多列数据

如果你想在Excel中拼接多列数据&#xff0c;你可以使用Excel的函数来实现。其中一个常用的函数是CONCATENATE函数或者更简洁的&符号。以下是如何使用这些方法拼接多列数据的示例&#xff1a; 假设有以下的数据&#xff1a; ABCJohnDoe25JaneSmith30BobBrown35 1. **使用…

mvn spring-boot:run运行报错

[ERROR] No plugin found for prefix ‘spring-boot’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/itkey/.m2/repository), public (https://maven.aliyun.com/reposito…

Python基于循环神经网络的情感分类系统设计与实现,附源码

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

spring02:DI(依赖注入)

spring02&#xff1a;DI&#xff08;依赖注入&#xff09; 文章目录 spring02&#xff1a;DI&#xff08;依赖注入&#xff09;前言&#xff1a;一、构造器注入&#xff08;constructor&#xff09;二、set注入&#xff1a;分析&#xff1a; 1. Student类&#xff1a;2. Addres…

编程入门(二)【计算机基础三】

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言五、常用软件的相关介绍六、操作系统的相关介绍七、Window11系统的基本操…

关于fail-fast机制和集合中删除元素报错这件事

我们由简到繁来叙述这件事 集合中删除元素报错 这个是很很基础但每一个程序员开发之路上都会遇到的报错&#xff0c;即ConcurrentModificationException 现象&#xff1a;在加强for循环中&#xff0c;使用集合本身的方法去删除了某个元素&#xff0c;比如 for (String obj:…

The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

运行报奇怪错误&#xff0c;然后加一句android:exported“true”&#xff0c;就可以了 &#xff0c;如下 <activity android:name".MainActivity" android:exported"true"><intent-filter><action android:name"android.intent.action…

Ansible离线安装

目录 概述失败成功离线安装包 概述 Ansible rpm离线安装 失败 yum -y install ansible --downloadonly --downloaddir./ansible [rootVM-16-2-centos ~]# yum -y install ansible --downloadonly --downloaddir./ansible 已加载插件&#xff1a;fastestmirror, langpacks Re…

浏览器内使用JS和椭圆曲线密钥交换

源码&#xff1a; 之前使用GO已经可以实现秘钥交换了&#xff0c;这里使用浏览器发送数据&#xff0c;与后端服务实现秘钥交换&#xff0c;记录一下实现的基本函数&#xff1a; // 生成密钥对&#xff0c;并保存到全局变量中async function createDHPair() {// 生成新的ECD…

vue3 源码解析(7)— diff 算法源码的实现

前言 vue3 采用的 diff 算法名为快速 diff 算法&#xff0c;整个 diff 的过程分为以下5个阶段完成。 处理前置节点处理后置节点处理仅有新增节点处理仅有删除节点处理其他情况&#xff08;新增 / 卸载 / 移动&#xff09; 这里我们先定义新旧两个节点列表&#xff0c;接下来…

数据结构速成--栈

由于是速成专题&#xff0c;因此内容不会十分全面&#xff0c;只会涵盖考试重点&#xff0c;各学校课程要求不同 &#xff0c;大家可以按照考纲复习&#xff0c;不全面的内容&#xff0c;可以看一下小编主页数据结构初阶的内容&#xff0c;找到对应专题详细学习一下。 目录 一…

JavaWeb--前端--03Vue入门

Vue入门 1 Vue概述2 快速入门3 Vue指令3.1 v-bind和v-model3.2 v-on3.3 v-if和v-show3.4 v-for3.5 案例 4 生命周期 1 Vue概述 个完整的html页面包括了视图和数据&#xff0c;数据是通过请求 从后台获取的&#xff0c;那么意味着我们需要将后台获取到的数据呈现到页面上&#…

多数之和算法题总结(二十三天)

1. 两数之和 题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你…

RDP连接Ubuntu远程桌面

之前一直用vncviewer&#xff0c;效果不佳&#xff0c;Microsoft Remote Desktop连ubuntu上的win虚机很好&#xff0c;多了几个工作环境&#xff0c;于是再度试一下用RDP连Ubuntu远程桌面。 几点注意事项 先安装xrdp: apt install xrdp 踢掉ubuntu上的登录用户&#xff0c;例…

OSPF - 链路状态路由协议

IGP 外部网关路由协议&#xff1a; OSPF &#xff0c; IS-IS EGP 内部网关路由协议&#xff1a; BGP 协议算法&#xff1a; 距离矢量路由协议 链路状态路由协议 lsdb:链路状态数据库 - 存放lsa的地址 RIP&#xff1a;有方向的矢量&#xff0c;距离矢量路由协议&#xf…

PHP-extract变量覆盖

[题目信息]&#xff1a; 题目名称题目难度PHP-extract变量覆盖1 [题目考点]&#xff1a; 变量覆盖指的是用我们自定义的参数值替换程序原有的变量值&#xff0c;一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。 经常导致变量覆盖漏洞场景有&#xff1a;$$&#x…

最前沿・量子退火建模方法(2) : Domain wall encoding讲解和python实现

前言 上篇讲的subQUBO属于方法论&#xff0c;这次讲个通过编码量子比特的方式&#xff0c;同样的约束条件&#xff0c;不同的编码&#xff0c;所需的量子比特数是不同的。有的编码方式&#xff0c;很节省量子比特。比如&#xff0c;这次要讲的Domain wall encoding。 一、Doma…