码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
Spring简介及IOC易懂介绍
目录
Spring是什么
Spring体系结构
Spring优势
耦合与内聚
工厂模式发展史
IOC
Spring是什么
Spring是分层的JavaSE/EE应用 full-stack(一站式)轻量级开源框架
分层
架构允许使用者选择使用哪一个组件
Spring的用途
不仅限于服务器端的开发,任何Java应用都可以从Spring中受益
Spring体系结构
底层是核心容器
Spring的核心容器是其他模块建立的基础
由Spring-core
Spring-beans
Spring-context
Spring-context-support和Spring-expression(Spring表达式语言)等模块组成
中间层技术
AOP
Aspects
应用层技术
数据访问与数据集成
Web集成
Web实现
基于Test测试
Spring优势
方便解耦,简化开发
方便集成各种优先框架
方便程序的测试
AOP编程的支持
声明式事务的支持
降低JavaEE API的使用难度
Java源码是经典学习范例
耦合与内聚
耦合(Coupling):
代码书写过程中所使用技术的结合紧密度
用于衡量软件中各个模块之间的互联程度
耦合度越高互联度越高
内聚(Cohesion):
代码书写过程中单个模块内部各组成部分间的联系
用于衡量软件中各个功能模块内部的功能联系
程序书写的目标:高内聚,低耦合
就是同一个模块内的各个元素之间要高度紧密
但是各个模块之间的相互依存度却不要那么紧密
工厂模式发展史
第一阶段:
应用程序(UserServiceImpl)
通过new调用
资源(UserDaoImpl)
应用与资源紧耦合
变更实现必须修改调用方源代码
第二阶段:
多了个工厂(UserDaoFactory)
工厂与资源紧耦合
应用与资源断开耦合
变更实现无须修改调用方源代码,但是需要修改工厂代码
第三阶段:
多了个配置(resource.xml)
工厂通过读取配置文件,读取类名,利用反射创建对象
资源与工厂也断开耦合
资源与配置文件紧耦合
变更实现无须修改调用方代码,也无需修改工厂代码,仅需要修改配置文件
这样维护成本很小
使用工厂+配置的形式,这就是Spring雏形
IOC
不理解看前面的耦合与内聚,工厂模式发展史,那些是铺垫
IOC(Inversion Of Control)控制反转
Spring反向控制应用程序所需要使用的外部资源
对象A获得依赖对象B的过程,由主动行为变为了被动行为
控制权颠倒过来了,这就是“控制反转”这个名称的由来
Spring控制的资源全部放置在Spring容器中,该容器称为IOC容器
传统模式下,资源的主控权在类手中
IOC模式下,主控权则在Spring手中
相关阅读:
PTE阶段规划
SpringCloud-Gateway
启动hdfs伪分布式模式过程中格式化namenode报错
基于微信小程序的奶茶在线预定点单管理系统
1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘, Time: 0.222000s 解决
Maven简介
MeterSphere | 在接口自动化场景中,设置全局Token方法
Mac自带apache2搭建服务请求localhost报 403 Forbidden
Flutter——加载图片的多样玩法
如何把Word转换为PDF?这篇文章教会你怎么实现
原文地址:https://blog.csdn.net/weixin_59624686/article/details/126321005
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号