最新要闻
- 天天快看:不选无痛分娩,却愿意花钱给婴儿拍写真?大部分人花钱并不靠理性权衡,想花就花了
- 【环球报资讯】疑似广汽埃安Hyper GT充电站自燃 车辆还未正式亮相发布
- 环球今头条!超级小桀“世界前30记录”被亲戚家熊孩子清零:直播间设备也遭破坏
- 一个月多次大范围崩溃!苹果天气又崩上热搜:iPhone免费天气App了解下
- 天天亮点!百余名驻澳门部队官兵无偿献血
- 发射6枚火箭后 马斯克SpaceX的劲敌维珍轨道倒了:已申请破产
- 健康低脂 鲜嫩多汁:肌肉小王子即食鸡胸肉10袋19.9元
- iPhone自带天气应用崩了 苹果客服:没收到反馈 重启或升级试试
- 每日精选:力压美国!全球AI论文发表量前十机构:九所来自中国
- 焦点热门:电视剧《他是谁》收官!聂宝华下线了
- 每日信息:人民日报发声后!中央政法委将严查!刘国梁危险
- 世界观热点:杭州小伙高速开特斯拉 “自动驾驶”变“自动撞车”
- 全球热消息:GPT-4学会“自我反思”:测试表现提升达30%
- 世界视讯!酷睿独享大小核架构 至强CPU不会混搭:Intel解释原因
- 电视画质新高度 乐视发布85寸新品“让影像狂飙”
- 北京环球影城回应不让摄影师进:不允许商业旅拍 个人可以
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
视点!模拟mybatis接口动态注册过程
思考
前文提到2种方式动态加载bean到容器,这里我们模拟一下mybatis手动注册Bean到容器的过程。模拟有啥好处,主要是为了方便你理解如何手动注册Bean的过程及mybatis的设计思想。毕竟这个才是spring的核心内容。
(资料图片仅供参考)
首先思考一下问题
如果你实现这个问题,你准备怎么实现???
个人感觉核心点就只有3个
1,如何将接口的具体的内容实现,毕竟我们只有接口+XML内容,木有具体的实现
2,如何将实现加入IOC容器中
3,需要一个入口加载上述步骤
需要实现考虑的点
1,如何屏蔽复杂Bean创建过程
为啥会抛出这个问题,主要是为了引出FactoryBean存在的意义,spring构建Bean实例是通过反射来如:class.forName("全路径名"),但是如果这个时候,bean的实例化需要依赖各种外部(构造方法参数比较多,这些参数的来源比较杂,参数来源于本地环境,XML,数据库等等,和平时无参构造不同)这个时候就没法通过直接反射来完成啦。
这个时候可以考虑实现FactoryBean接口(实际业务中,基本上很少使用,但是源码中大量使用,只需要记住复杂的Bean的实例化过程可以考虑FactoryBean即可)
public class C implements FactoryBean { public C(String parameter1,String parameter2){ this.parameter1 = parameter1; this.parameter2 = parameter2; } private String parameter1; private String parameter2; @Override public Object getObject() throws Exception { /** * parameter1,parameter2 依赖外部数据, * 可以在这里初始化 * 考虑在这个地方写Bean的初始化 */ return new C("111","222"); } @Override public Class> getObjectType() { return null; }}
2,spring如何知道要扫描那些类,并且自动要加到容器中
肯定是通过某个注解标记要扫描那些类,这个肯定就是一切的开始 ,如:
@MapperScan(basePackages = "*****")
3,mybatis只有接口,木有实现,这个问题怎么处理
毫不犹豫这个是通过代理来实现的。这个不能随便乱用(适用场景有限)mybatis之所以能用的根本原因,所有的接口的具体实现,最后就是4个实现"增删改查"。
4,spring如何裁剪bean的定义(比如添加,删除,修改IOC容器中的Bean)
其实讨论这个意义不是很大,抛却技术的实现的必要性,完全可以避免Bean的裁剪(比如:我们一定是先定义好BeanDefinition,在加入容器,没必要加入容器后在取出来进行裁剪),这个东西只是让你多一个思路。
要支持Bean的裁剪实现BeanDefinitionRegistryPostProcessor接口即可
实现DEMO
模拟mybatis向IOC容器注册过程基本思路
实现基本思路
技术阅读路线
源码位置:https://gitee.com/WuWuYaoWang/shardingsphere-demo-5.2.0
关键词:
Linux文件类型发布啦!
视点!模拟mybatis接口动态注册过程
天天快播:Linux之父:连你自己都懒得解释,那这就是一堆垃圾!
天天快看:不选无痛分娩,却愿意花钱给婴儿拍写真?大部分人花钱并不靠理性权衡,想花就花了
【环球报资讯】疑似广汽埃安Hyper GT充电站自燃 车辆还未正式亮相发布
环球今头条!超级小桀“世界前30记录”被亲戚家熊孩子清零:直播间设备也遭破坏
一个月多次大范围崩溃!苹果天气又崩上热搜:iPhone免费天气App了解下
百事通!我进入银行科技部半年,已经丧失跳槽的能力了!
使用vue2+element-ui+vuex实现后台管理系统的头部背景色动态点击修改
视焦点讯!Python数据分析第七周作业随笔记录
焦点速读:python文件操作:r、w、a、r+、w+、a+和b模式
小皮1-click漏洞的代码审计学习笔记
天天亮点!百余名驻澳门部队官兵无偿献血
发射6枚火箭后 马斯克SpaceX的劲敌维珍轨道倒了:已申请破产
健康低脂 鲜嫩多汁:肌肉小王子即食鸡胸肉10袋19.9元
iPhone自带天气应用崩了 苹果客服:没收到反馈 重启或升级试试
每日精选:力压美国!全球AI论文发表量前十机构:九所来自中国
焦点热门:电视剧《他是谁》收官!聂宝华下线了
每日信息:人民日报发声后!中央政法委将严查!刘国梁危险
当前动态:Apache DB Utils教程_编程入门自学教程_菜鸟教程-免费教程分享
搭一下 Stable Diffusion WebUI
世界观热点:杭州小伙高速开特斯拉 “自动驾驶”变“自动撞车”
全球热消息:GPT-4学会“自我反思”:测试表现提升达30%
世界视讯!酷睿独享大小核架构 至强CPU不会混搭:Intel解释原因
电视画质新高度 乐视发布85寸新品“让影像狂飙”
北京环球影城回应不让摄影师进:不允许商业旅拍 个人可以
每日热文:市应急管理局开展地震监测台站巡查工作
【速看料】JavaScript:数组的sort()排序(遇到负数时如何处理)
游戏内存不能为read是什么原因?游戏内存不能为read的解决方法
魅族MX3上市时间和价格是多少?魅族mx3参数配置
hynix内存条是什么牌子?hynix内存条参数怎么看?
ibooks store不可用是怎么回事?ibooks store不可用怎么解决?
天龙八部3怎么把画面调小?天龙八部3装备评分排行榜
揭秘电诈手段|打开“屏幕共享”,存款不翼而飞
最全.NET Core 、.NET 5、.NET 6和.NET 7简介和区别
数学建模(三):模拟退火算法(SA)
今日要闻!Advanced Installer傻瓜式打包教程
环球快报:“蜀道电行者”打好森林防火“组合拳”
快资讯:日媒:后锂离子电池时代竞争 中国碾压式领先日本、美国
全球今日讯!279元大额券:杰士邦零感003系列18枚30.9元狂促
每日报道:5.75亿超《你的名字》!《铃芽之旅》成中国影史日本动画票房第一
环球快看点丨安徽淮北9级大风:女子睡醒发现房顶被吹走 网友羡慕睡眠质量
知名演员王刚清空社交账号 本人回应:没兴趣没精力经营
热消息:陕西发布清明出行预测:公路基本畅通运行,高速车流量是平日1.3倍
JAVA多线程并发编程-避坑指南
今日热闻!安装MYSQL_5.0/8.0教程(附数据库和客户端工具下载链接)
今日热议:易基因: oxRRBS+RRBS揭示炎症性肠病导致发育异常的表观遗传机制|甲基化研究
今日聚焦!导演陆川:AI 15秒生成的海报 比专业公司一个月做得还好
318川藏线突现雪崩 行车记录仪拍下惊险一幕
世界微资讯!5500元 一图读懂特斯拉补能神器CyberVault赛博充:专为中国用户定制
信息:“喝酒吃药”卷土重来!公募基金重仓股TOP50中贵州茅台仍在榜首,还有17只票被增持(附表)
【报资讯】南漳:油菜花开春意浓
世界观察:揭秘你不知道的“寒食节”:春秋时期延续至今 要吃青团、凉面
车评人批丰田埃尔法不装后防撞梁:一个倒车碰撞车体就变形
天天热资讯!消灭刘海挖孔!曝iPhone 17 Pro将是首款真全面屏苹果手机
全球信息:5A级薄荷抗菌 凉感冰丝太爽:卡帝乐鳄鱼夏季平角裤7.3元/条发车
观焦点:标准版终于要上高刷了!iPhone或2025年全系列引入LTPO技术
天天热讯:扫叶林风后,拾薪山雨前
day35 860. 柠檬水找零
当前快播:全网最详细中英文ChatGPT-GPT-4示例文档-智能AI辅助写作从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/
环球微速讯:四月份去贵州旅游好吗_四月份去贵州旅游
戴苹果手表致手腕红肿你遇见没?苹果客服回应:或与皮肤敏感有关
全球微资讯!《拿破仑》年内公映
世界热消息:北汽越野BJ90狂降71万:打2.8折提换壳奔驰GLS
天天观天下!就是玩!马斯克将推特图标换成柴犬头像:还发了一幅漫画
每日讯息!村民回应网传奥迪轿车被当祭品焚烧:确实是意外
前沿热点:美克生能源携手新凤鸣集团 打造5MWh用户侧储能电站
天天关注:男生1900元买iPhone 14 Pro Max开机竟是安卓系统:商家被平台封禁
世界速看:铠侠成功研制出HLC闪存!SSD容量暴增:速度/耐用性比QLC还拉跨
环球观热点:2999元起 魅族20系列首销一秒破亿!京东、天猫多平台销冠
世界即时看!ChatGPT出现大规模封号; 我国移动网络IPv6流量首次突破50%;菜鸟首个航空运货中心落户深圳|Do早报
观焦点:Centos 分割卷组
焦点消息!中国恒大:公司与债权人特别小组成员签订三份重组支持协议
三利好助A股四月开门红 “小阳春”行情值得期待
每日消息!交易拥挤度创23年纪录 TMT板块还能热多久
要闻:国际金融市场早知道:4月4日
环球快资讯丨大家都越骂越买?iPhone 13成全球最畅销手机 小米为安卓挽尊
每日消息!国内将上映!真人电影《小美人鱼》最新预告 这美人鱼网友看完感叹
今日热闻!AMD Zen4加持!ROG首款掌机来了:比Switch强大太多
读SQL进阶教程笔记07_EXISTS谓词
gw文件用什么软件打开手机上_gw文件用什么软件打开
环球快播:《王者荣耀》杨玉环新皮肤官宣:时尚芭莎指导 春天的神女
环球速讯:外卖超20元才送?江苏省消保委:停止被迫“凑单”
前沿热点:LCD电视跌成白菜价 面板一哥京东方去年利润下滑71%
腰粗大树刮断砸中小轿车 女车主:不慌 先拍个视频
【当前独家】网传青海现野生大熊猫!专家:绝对不可能
【聚看点】c语言分解质因数_分解质因数的概念
全球要闻:网红书店言几又被强制执行6400万
centos 8 上sql server 安装
【全球热闻】HP发布暗影精灵9系列游戏本:RTX 4080干到13999元
【新要闻】1199元!海康Mage20 Pro家庭存储NAS发布:支持最大40TB容量
每日看点!对线!枪迷称落后22分曼联追分无望,内维尔怼阿森纳前15年战绩差
天天最资讯丨Flask
世界新消息丨Autoconfiguration详解——自动注入配置参数
当前速看:1080. 根到叶路径上的不足节点
【环球速看料】上下五千年 熊猫第一次有了站姐
环球滚动:菜鸟首个航空货运中心落户深圳:包裹效率提升30%
世界焦点!计算机系统的组成(1硬件系统篇)
昆自股份拟通过拍卖方式购买14套房产作为公司经营活动场所 评估价值为3516.56万
引入人工智能!米哈游刘伟:《崩坏:星穹铁道》将在NPC加入AI