当前位置: 首页 > news >正文

Spring框架

image
Spring 框架的核心原理,包括 IOC(控制反转)、DI(依赖注入)和 AOP(面向切面编程)三大核心机制,以及 Controller、Service、Mapper 三层架构的协作关系
一. IOC(控制反转)与 DI(依赖注入)
1.核心思想:IOC 控制反转 (处理对象的)
提供一个IOC容器(在application中)Map<String,Object>
key值:类名首字母小写
value:new 对象
IOC容器是放对象的

       DI 依赖注入 (属性依赖于容器的注入)

2.组件注册
①写在类上,就可以放入到IOC容器中的注解4个
(把当前类的对象放入到IOC中, key是类名的首字母小写 )
@Controller
@Service
@Repository (修饰持久层)
@Component (组件,不在这三层之外的类)
修饰类,把当前类的对象放入到OC容器中,key是类名,首字母小写

②写接口上
@Mapper (修饰接口的)
mybatis提供,修饰mapper接口,不再写实现类
自动生成一个该接口的实现类,并放入到IOC中

3.依赖注入
在 Controller 中通过 @autowire 注解,即可从 IOC 容器中自动获取 Service 实例,无需手动创建,实现了解耦。
4.容器作用
IOC提供一个IOC容器(在application中)Map<String,Object>
key值:类名首字母小写
value:new 对象
IOC容器是放对象的
IOC 容器(图中的 application)维护了一个 Bean 映射表(Map<String,Object>),通过 DI 自动为组件注入所需的依赖对象。
二. 三层架构协作
Spring 项目的经典分层结构在图中清晰体现:
Controller:接收前端请求,调用 Service 处理业务,返回响应。
Service:封装业务逻辑,调用 Mapper 操作数据库。
Mapper(DAO):与数据库交互,执行 SQL 语句。
各层之间通过 @Autowired 实现依赖注入,形成松耦合的协作关系。
四. AOP(面向切面编程)
核心思想:在方法的上边/下边 补 切点表达式,连接连接点和植入方法
点:指的是方法
连接点: 可以附加在切面上的方法(service层的那些业务方法)
连接点:没连接上
切点:连上了
切面:包含了 before A(前置通知)、after A(后置通知)等通用增强逻辑。
执行流程
植入: 把植入方法加入的过程
当调用 Service 中的目标方法时,Spring 会自动触发切面中的增强逻辑,在方法执行前后插入通用代码,实现无侵入式的功能扩展。
五. 整体流程总结
1.启动项目时,Spring 扫描带有注解的类,将其创建为 Bean 并放入 IOC 容器。
2.各层组件通过 @Autowired 自动注入依赖,完成对象间的协作。
3.当请求到达 Controller 时,调用 Service 方法,AOP 动态织入切面逻辑。
4.Service 调用 Mapper 操作数据库,最终返回结果给前端。

http://www.jsqmd.com/news/314331/

相关文章:

  • django-flask基于Python的高校学生成绩分析vue 论文
  • django-flask企业会议交换机设备维修批量运维管理系统py09
  • django-flask医生开药处方药品进销存管理系统vue_0m3u8
  • django-flask在线考试系统vue_7k6gs
  • django-flask基于Python可视化的学习做题答题统计系统的设计与实现vue
  • 别再盲目猜顶!真正的高手只看成交量的这4个关键信号
  • 爆肝整理:智能体(Agent)前世今生,大模型让这条被埋60年的AI主线终于“通水“了!程序员必看!
  • 如何使用 Grafana 可视化你的 3CX 呼叫中心电话系统
  • 【震惊】AI终于能自己写代码了?桌面智能体将颠覆程序员工作方式!
  • 基于SpringBoot的高校竞赛管理系统设计与开发
  • 救命神器9个AI论文网站,本科生毕业论文轻松搞定!
  • 大模型“健忘症“有救了!独立Memory层正在重塑AI编程开发范式,小白程序员必看!
  • 基于springboot的就业推荐系统
  • dnsx使用手册
  • 孤能子视角:“行为主义心理学“
  • 盖斯的第一部分
  • 孤能子视角:“联结主义(神经网络)认知心理学“
  • 深度剖析SkyWalking:从内核原理到生产级全链路监控实战
  • 【OpenCV】Python图像处理矩特征之矩的计算/计算轮廓的面积
  • 寒假学习(8)(c语言8+模数电8)
  • 什么是无需编程的全栈开发平台?一文讲清原理与价值
  • 详细介绍:JavaEE进阶——SpringMVC响应处理详解
  • 相当完美的新一代移动处理器!英特尔酷睿Ultra X9 388H实测
  • mybatis中collection标签与association标签的区别与应用场景
  • 搭配单通道高延迟内存照样是最强游戏处理器!锐龙7 9850X3D首发评测
  • 2025年CRM系统选型手册:主流厂商能力横向对比及深度解析
  • SpringMVC
  • Naabu 使用手册
  • 声振温监测技术:设备故障的“隐形哨兵”,预警的核心底气
  • 设计行业资讯精准推送工具,输入关注行业关键词,自动筛选优质资讯,过滤冗余信息,按每日/每周推送,帮职场人及时掌握行业动态。