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 操作数据库,最终返回结果给前端。

posted @ 2026-01-28 22:51  doremi_h2  阅读(1)  评论(0)    收藏  举报