JavaEE进阶5/25(属性注入)
目录
1.更简单的存取Spring对象
2.获取Bean对象(对象装配)DI
3. Resource注入
4.Resource注入和Autowired注入的区别
1.更简单的存取Spring对象
2.获取Bean对象(对象装配)DI
对象装配(对象注入)有三种方法是实现
1.通过属性注入
为什么叫属性注入,因为你看上面第二行就像声明一个属性一样
main方法不能用属性注入(Autowired)
2.构造方法注入
就和普通的构造方法一样
当前类只有一个构造方法的时候可以省略,多个的时候还是要写Autowired 所以建议还是要带上Autowired吧。
当只有一个的时候这是spring为了推广这种写法给我们的好处,就是省略写了Autowired
3.Setter注入
构造个Set类名 方法,然后前面别忘了加Autowired
先写private 类 类名 构造个空的 再用set用Spring传入对象
三者的优缺点,
1.属性注入,优点使用简单,但是Spring官方不提倡使用,因为
第一条因为final是要直接赋值的,要么直接赋值,要么构造方法赋值
第二条是Autowired来自于Spring,Spring是Ioc容器,它只适用于Ioc容器
第三条是,更容易违背单一设计原则,不够专一。
2.set注入
优点:更加符合单一设计原则
缺点:
1.不能注入不可变对象,不能注入final修饰的
2.注入对象可被修改
这一点i相比于属性注入更加危险
3.构造方法注入,构造方法注入好处多多。
1.可以注入不可变对象
2.注入的对象不能被修改(1.final修饰的对象 2.构造方法只在类加载的时候执行一次)
3.通用性更强(相比于属性注入只适合于IOC容器)
4.是彻底完全构造对象的(构造方法的特性)
缺点就是没有属性注入简单
小节:实际开发中大部分还是选择属性注入,因为它够简单。
它仍然是主流的实现方式
3. Resource注入
这是java中的JDK提供的方法,也是提供属性注入的。写法和Autowired一样
他们之间有什么区别呢?
1.Resource可以用于set注入和属性注入,但是Autowired多了一个构造方法注入
2.Resource来源于JDK Autowired来源于Spring
3.Resource支持更多的参数设置,例如name设置,根据名称获取Bean对象 ,而Autowired只required参数
4.Resource注入和Autowired注入的区别
它们都是根据类型和名称一块找的,区别就是顺序不同
Resource是先根据类型找 如果
则先找到 student1 student2(他们都是Student类),然后再根据名字找发现没有student这个名字的对象。那么就会报错(but find 2)
Resource解决方案:由于Resource可以传入name属性
这样解决就会找到student2对象
Qualifier 过滤,预选赛
相关文章:
JavaEE进阶5/25(属性注入)
目录 1.更简单的存取Spring对象 2.获取Bean对象(对象装配)DI 3. Resource注入 4.Resource注入和Autowired注入的区别 1.更简单的存取Spring对象 2.获取Bean对象(对象装配)DI 对象装配(对象注入)有三种方…...
【Java学习记录-4】相关名词和概念记录(持续更新)
目录 1 注解2 包3 权限修饰符4 状态修饰符1. final2. static 5. 多态6.抽象类7.接口 1 注解 Override是一个注解,可以帮助我们检查重写方法的方法声明的正确性 注意: 私有方法不能被重写(父类私有成员子类是不能继承的)子类方法…...
《程序员面试金典(第6版)》面试题 16.25. LRU 缓存(自定义双向链表,list库函数,哈希映射)
题目描述 设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。 题目传送门:…...
kong网关启用jwt认证插件
认证流程: 1、创建一个用户 2、生成jwt的所需要的key和密钥 3、在https://jwt.io/的生成jwt token 4、启用jwt插件 5、发送请求的时候携带jwt的token信息 官方指导:https://docs.konghq.com/hub/kong-inc/jwt/configuration/examples/ 一、创建一个新的…...
day12 - 图像修复
在图像处理的过程中,经常会遇到图像存在多余的线条或者噪声的情况,对于这种情况我们会先对图像进行预处理,去除掉对图形内容有影响的噪声,在进行后续的处理。 本节实验我们介绍使用图像膨胀来处理图形的多余线条,进行…...
1720_Linux学习中的问题处理
全部学习汇总:GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 这个有点学习的方法论的意思,画个滋味导图顺便整理一下。 遇到问题的时候,解决的方法大致有3中,而针对学习的建议有一部分是…...
七人拼团系统开发模式详解
七人拼团是最近兴起的一个模式,它通过更人性化的奖励机制,将产品利润最大化让利给参与拼团的用户,达到促进用户主动积极裂变和团队平台引流提升销量的效果,下面就来详细说一下这个模式。 七人拼团最大的特点,就是结合了…...
CPU性能优化:分支预测
条件跳转引起的控制冒险虽然也可以通过在流水线中插入空泡来避免,但是当流水线很深时,需要插入更多的空泡。一个20级的流水线为例,如果一条指令需要上一条指令的执行结束才能执行,则需要在这两条指令之间插入19个空泡,…...
过滤器Filter,拦截器Interceptor
过滤器Filter 快速入门 详情 登录校验-Filter package com.itheima.filter;import com.alibaba.fastjson.JSONObject; import com.itheima.pojo.Result; import com.itheima.utils.JwtUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils…...
kafka整理
kafka整理 一、kafka概述 kafka是apache旗下一款开源的顶级的消息队列的系统, 最早是来源于领英, 后期将其贡献给apache, 采用语言是scala.基于zookeeper, 启动kafka集群需要先启动zookeeper集群, 同时在zookeeper记录kafka相关的元数据 kafka本质上就是消息队列的中间件产品…...
为什么有些情况下需要重写equals()和hashCode()方法?
目录 方法作用实战案例 方法作用 equals():判断对象是否相等,比如判断是否能放入Set集合中 情况1:没有重写equals()方法:由于所有类的默认基类都是Object类,所以默认使用Object类的equals()方法,那就是对象…...
14-Vue技术栈之Vue3快速上手
目录 1.Vue3简介2. Vue3带来了什么2.1 性能的提升2.2 源码的升级2.3 拥抱TypeScript2.4 新的特性 1、海贼王,我当定了!——路飞 2、人,最重要的是“心”啊!——山治 3、如果放弃,我将终身遗憾。——路飞 4、人的梦想是…...
JavaScript高级三、深入面向对象
零、文章目录 JavaScript高级三、深入面向对象 1、编程思想 (1)面向过程介绍 面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。 (2&…...
static
1. 静态局部变量 : 用于函数体的内部修饰变量,这种变量的生存期长于该函数。 2. 静态全局变量: 定义在函数体外,用于修饰全局变量,表示该变量只在本文件可见。 3. 静态函数: 准确的说,静态函数跟…...
zabbix动作执行失败 No media defined for user.
问题 zabbix动作执行失败 No media defined for user. 详细问题 解决方案 1(导航栏)用户 → \rightarrow →报警媒介 → \rightarrow →添加 2 选择类型 → \rightarrow →收件人 → \rightarrow →添加 3 更新 解决原因 笔者由于未点击更新钮导…...
JavaScript this 关键字
在JavaScript中,this关键字是一个特殊的关键字,它在函数内部使用,用于引用当前执行上下文中的对象。 this的值是在函数调用时动态确定的,它取决于函数的调用方式。下面列举了几种常见的调用方式和this的取值: 1. 全局…...
ubuntu基本信息查询
查询CPU信息 cat /proc/cpuinfo cat /proc/stat top lscpu 查询内存 free -m Options: -b, --bytes show output in bytes -k, --kilo show output in kilobytes -m, --mega show output in megabytes -g, --giga show output in gigab…...
Revit问题:创建牛腿柱和快速生成圈梁
一、Revit中如何用体量创建牛腿柱 牛腿:悬臂体系的挂梁与悬臂间必然出现搁置构造,通常就将悬臂端和挂梁端的局部构造,又称梁托。牛腿的作用是衔接悬臂梁与挂梁, 并传递来自挂梁的荷载。牛腿柱可以用于桥梁、厂房的搭建,…...
k8s节点删除
1.设置该节点为不可调度状态 kubectl cordon k8s-node01 2.驱逐该节点上的pod kubectl drain k8s-node01 --ignore-daemonsets --delete-local-data 若是有pod删除不掉则加上--force参数强制驱逐 3.从集群中删除该node节点 kubectl delete node k8s-node01 4.在k8s-node…...
45°装备系统
45装备系统,规则:1、45 脚后剧情,场景地面出现,个体视角,非群体。2、产生寒暖对立,衣饰自动改变。3、地图下方块蛇,脚步顺逆差,让衣饰自动改变后出现形态特效。(形成进入…...
城市峡谷里,你的车是怎么知道自己在哪的?聊聊INS、NHC和轮速计(ODO)的“组合拳”
城市峡谷里,你的车是怎么知道自己在哪的?聊聊INS、NHC和轮速计(ODO)的“组合拳” 想象一下,你正驾驶车辆穿梭在纽约曼哈顿的摩天大楼之间,或是穿越一条漫长的山体隧道。突然,车载导航屏幕上的定…...
OpenClaw+百川2-13B-4bits:10分钟搭建学术资料收集机器人
OpenClaw百川2-13B-4bits:10分钟搭建学术资料收集机器人 1. 为什么需要学术资料收集机器人? 上周整理毕业论文参考文献时,我发现自己浪费了整整3个小时在重复操作上:在Google Scholar搜索关键词→逐一点开论文链接→手动判断相关…...
系统盘空间释放之-Gradle 的默认缓存迁移
最近开发过程中磁盘空间频繁报红,解决一下这两个缓存吧。(以我的电脑为例)一、先明确:这个文件夹是什么?C:\Users\lt\.gradle(1.16GB)作用:Gradle 全局缓存目录,存储所有…...
三态模型:**就绪**(已获除CPU外所有资源,等待调度)、**运行**(正在CPU执行)、**阻塞**(等待某事件如I/O完成,主动放弃CPU)
🔹 进程与线程 进程是资源分配的基本单位,拥有独立地址空间;线程是CPU调度的基本单位,同一进程内线程共享代码段、数据段和打开文件等资源,但有独立栈和寄存器上下文。线程切换开销远小于进程切换(无需TLB刷…...
OpenClaw学习助手:Qwen3.5-9B自动整理学术PDF笔记
OpenClaw学习助手:Qwen3.5-9B自动整理学术PDF笔记 1. 为什么需要自动化文献整理 作为一名每天需要阅读大量文献的研究者,我长期被两个问题困扰:一是PDF里的关键信息需要手动复制粘贴到笔记软件,二是不同文献的结论难以横向对比。…...
无痛人流三天能出门吗?术后出行与身体恢复科学指南
很多女性在无痛人流术后都会关心出行与恢复问题,其中 “无痛人流三天能出门吗” 是高频咨询内容。术后恢复不仅关系到短期舒适度,也影响生殖系统长期健康。结合临床护理经验与行业康复标准,本文对术后出行时机、注意事项及科学修护方式进行客…...
2026届学术党必备的六大AI学术神器推荐榜单
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 基于自然语言处理以及深度学习算法的AI论文查重技术,经过对文本的语义结构、句式…...
从“被看错”到“卖爆”,宇树机器人全国首店开业:机器狗平价上路,人形机器人掀价!
在经历了八年的深耕与资本的反复试炼后,杭州宇树科技(Ushush Technology)今天迎来了一个标志性的时刻——其全国首家线下门店正式在京东Mall西门入口处开业。这不仅是宇树向消费者展示“具身智能”实力的窗口,更是其“讲人形的故事…...
如何0失败部署ChemCrow?从环境配置到功能落地的全景指南
如何0失败部署ChemCrow?从环境配置到功能落地的全景指南 【免费下载链接】chemcrow-public Chemcrow 项目地址: https://gitcode.com/gh_mirrors/ch/chemcrow-public ChemCrow是一款基于Langchain构建的开源化学智能工具包,集成了RDKit化学工具、…...
突破视频内容壁垒:B站视频转文字的智能解决方案
突破视频内容壁垒:B站视频转文字的智能解决方案 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 在信息爆炸的时代,视频已成为知识传播…...











