Spring依赖注入详解

1.set注入

 

 启动容器后看看到底能不能拿到teacherService的值。可以看到拿到了值。我们具体来分析怎么注入的

 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean

发现pvs里面有一个我们自己set的值 

 

直接进行属性赋值。

org.springframework.beans.factory.support.BeanDefinitionValueResolver#resolveValueIfNecessary

org.springframework.beans.factory.support.BeanDefinitionValueResolver#resolveReference

直接从容器中获取,然后进行属性赋值

 

 真正进行属性赋值:

 org.springframework.beans.AbstractPropertyAccessor#setPropertyValues(org.springframework.beans.PropertyValues, boolean, boolean)

问题1:如果set方法乱写可以注入吗?

 不行,会报错,我们看看具体在哪里报错

 

org.springframework.beans.AbstractNestablePropertyAccessor#setPropertyValue(org.springframework.beans.AbstractNestablePropertyAccessor.PropertyTokenHolder, org.springframework.beans.PropertyValue)

这里会报错

 

 会将set后面的方法去掉set,然后首字母小写放入缓存中,来获取对应的注入值,如果找不到直接报错。

如果是这样会报错吗?不会,底层拿到set方法然后进行反射,故set方法和注入的属性一直就不会报错。

 

如下就不会报错:

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux中滴计划任务

计划任务计划任务计划任务分类at命令load averagecrontab命令配置文件通常包含三个部分cron服务配置文件cron服务的日志文件时间数值的特殊表示方法应用实例案例anacron服务计划任务 计划任务(Cron Job)是指在预定的时间自动执行一些指定的任务或脚本。…

普通人怎么用ChatGPT-ChatGPT中文版网页

去哪下载ChatGPT ChatGPT是一种自然语言处理算法,其模型是由OpenAI团队开发的。如果你需要使用ChatGPT模型进行自然语言处理任务,你可以从OpenAI官方网站获取模型和相关工具。 具体来说,你可以访问OpenAI的网站,然后在“Researc…

CarSim仿真快速入门(二十四)-CarSimSimulink联合仿真中的输入和输出IO接口

导入和导出数组用于Simulink以外的外部仿真工具。同样的设置也用于LabVIEW、ASCET、FMI/FMU以及可能用MATLAB、Python和其他语言编写的自定义程序。 在所有这些情况下,I/O通道。导入和I/O通道。输出屏幕用于配置VS数学模型以满足外部仿真工具的通信要求。 I/O 通道:输出 输…

元宇宙与网络安全

元宇宙是一种虚拟现实空间,用户可以在计算机生成的环境中进行互动。元宇宙的应用范围很广,比如房地产,医疗,教育,军事,游戏等等。它提供了更具沉浸感的体验,更好地现实生活整合,以及…

three.js实现3d球体树状结构布局——树状结构的实现

目录系列文章安装依赖基本分析实体类场景相机渲染器辅助线环境光点光源球形几何体球形几何体的材质线几何体线几何体的材质物体文本轨道控制实现效果实现源码参考文档系列文章 three.js实现3d球体树状结构布局——添加入场、出场、点击放大等动画 安装依赖 npm i three three…

【软件设计师07】程序设计语言与语言处理程序基础

程序设计语言与语言处理程序基础 编译与解释、文法、正规式、有限自动机、表达式、传值与传址、多中程序语言特点 1. 编译过程 2. 文法定义 (逐渐降低考察比例,很少考察) 概念 文法类型 语法推导树 有限自动机与正规式(重点) 常见问题&a…

UVM response_handler和get_response机制

很多UVM用户平时更多的使用get_response()方式去获得uvm_driver的response,但get_response有些缺点:由于 get_response() 是一种阻塞方法,它会阻塞直到收到来自 UVM 驱动程序 (put_response()) 的响应。因此,如果我们使用 get_res…

Vue3加载中(Spin)

Vue2加载中(Spin) 可自定义设置以下属性: 是否为加载中状态(spinning),类型:boolean,默认 true 组件大小(size),类型:string&#x…

国内ChatGPt研发-中国chatGPT

人工智能软件chatGPT Chat GPT是一种自然语言处理算法,采用了深度学习技术,用于实现文本生成和自然语言处理任务。它可以实现自然而然的人机交互,在自然语言生成和问答领域应用广泛。 值得注意的是,Chat GPT本身并不是一款具体的…

VB execl函数 word文档 KBS

文章目录1. VB1.1 程序结构1.2 基本语法1.3 数据类型1.4 变量1.4.1 变量声明1.5 常量和枚举1.5.1 声明常量1.5.2 声明枚举1.6 数据库2. KBS3. execl函数2.1 分割页面4. word文档4.1 如何分节4.2 如何删除节4.3 页脚如何自增4.4 多页显示1. VB 1.1 程序结构 命名空间声明一个类…

ansible自动运维——看明白ansible.cfg配置文件

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证,这里我会定期跟新自动话运维的博客,希望能提高自己的技术的同时,也可以帮助到大家,另外大家可以关注我的其它…

【Linux】环境变量进程虚拟地址空间

环境变量&进程虚拟地址空间环境变量一些常见的环境变量-PATH修改环境变量进程虚拟地址空间环境变量 使用ls man pwd cd echo 这些指令时,不需要加./但是要运行我们自己的可执行程序就需要加上,本质上两个都是指令,为什么执行方法不同&am…

MySQL 索引常见问题汇总,一次性梳理

hello,大家好,我是张张,「架构精进之路」公号作者。 提到MySQL查询分析,就会涉及到索引相关知识,要想学好MySQL,索引是重要且不得不啃下的一环,今天就把MySQL索引常见问题进行汇总,一…

React 组件的 children 数据使用

children 属性表示该组件的子节点,只要组件内部有子节点,props 就有该属性,是自动带上的,不需要开发者添加。 children 可以是 普通文本、普通标签元素、函数、JSX … 案例一:普通文本 import React from "rea…

【一起撸个DL框架】1 绪论

文章目录第一章 绪论 🍉1.1 在人工智能的大潮里1.2 为什么重复造轮子1.3 深度学习框架简介第一章 绪论 🍉 1.1 在人工智能的大潮里 人工智能——一个如今十分火热的话题,人们在生活中越来越多地使用它、谈论它。在2022年之前,人…

FPGA纯verilog实现UDP通信,三速网自协商仲裁,动态ARP和Ping功能,提供工程源码和技术支持

目录1、前言2、我这里已有的UDP方案3、UDP详细设计方案MAC层发送MAC发送模式ARP发送IP层发送IP发送模式UDP发送MAC层接收ARP接收IP层接收UDP接收SMI读写控制SMI配置10/100/1000M仲裁ICMP应答 (ping)ARP缓存CRC校验以太网测试模块RGMII转GMII模块4、vivado工程详解5、上板调试验…

多线程-模拟抢红包,抽奖池

目录 场景1:抢红包 场景2:模拟抽奖池 场景1:抢红包 100块,分成了3个包,现在有5个人去抢, 其中,红包是共享数据。 5个人是5条线程。如何用多线程方式去实现? public class MyThread e…

设计模式-day03

5,结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“…

echarts tooltip文字太长换行

tooltip文字太长换行,设置了宽度也没有换行,加上一句: extraCssText: ‘max-width:300px; white-space:pre-wrap’, 没加之前是这样: 加上之后 extraCssText: ‘max-width:300px; white-space:pre-wrap’, tooltip: {trigger: &…

把ChatGPT接入我的个人网站

效果图 详细内容和使用说明可以查看我的个人网站文章 把ChatGPT接入我的个人网站 献给有外网服务器的小伙伴 如果你本人已经有一台外网的服务器,并且页拥有一个OpenAI API Key,那么下面就可以参照我的教程来搭建一个自己的ChatGPT。 需要的环境 Cento…
最新文章