无题

Spring

基础概念

1
2
3
4
5
6
springframe 房子的最基本框架
绝大数的java应用开发都需要用到spring
springboot在spring家族中用得最多
spring6 最低支持java17
spring5 最低支持java8
spring发展到今天已经是一个生态体系
1
2
3
4
5
6
java web框架发展过程:
1.servlet+jsp
2.MVC三层架构
web层()
业务层
数据层

image-20250909223522261

1
EJB 用于降低MVC框架各类之间的耦合度 负责new类 维护类 但是侵入性太强,后期不易更换掉EJB框架
1
2
3
3.SSH架构
struts1/struts2+Hibernate+spring
spring负责new对象 hibernate负责数据库访问 struts负责页面跳转
1
2
3
4.SSM
springmvc+mybatis+spring
mybatis和hibernate类型 前者更适合复杂的sql语句
1
2
3
5.springboot解决了4需要配置大量xml文件的难度

现在很多公司都是基于springboot配置ssm框架,开展工作

Spring框架

1
spring framework不等同于spring,前者是后者生态体系中最基本的框架

image-20250914133452780

image-20250914133529430

Spring IoC/DI详解

1
2
3
4
5
面试会问这部分
属于core container,spring框架中最核心的

Ioc:inversion of Control 控制反转
DI:dependency injection 依赖注入
1
2
3
4
5
6
7
控制(对象创建权利)被反转:
之前:程序员控制对象创建
userservice(new userdao)-->userdao 强耦合
之后:依赖spring注入
spring(new userservice();new userdao();) 这里前者需要用到后者 用spring依赖注入

spring来完成这部分工作的优点:解耦,对象管理(只需要维护一个单例,也可以每new一个时创建一个)