引言
- 为什么要使用Spring
在使用Spring之前一定要清楚问什么要使用,比如一个工具你要了解为什么才使用,才可以更好地运用到实际。
原生web开发有很多的问题
1.传统Web开发存在硬编码导致过度的耦合,维护成本高,不健壮
2.有一些Java EE API较为复杂,使用效率低,比如JDBC
3.侵入性强,移植性差
Spring可以很好的解决这些问题,使用Spring尤为重要
Spring框架
-
Spring是一个项目管理框架,也是一套Java EE的解决方案
-
Spring运用了很多的设计模式,是众多设计模式的组合
-
Spring并没有替代任何的框架,而是有机的整合框架,俗称“胶水框架”
-
官网地址:https://spring.io/
-
下载地址:https://repo.spring.io/release/org/springframework/spring/
可以使用maven依赖搭建,节约时间成本,如果需要深入研究Spring就可以通过以上地址进行学习
Spring架构组成
-
- 初学者对于架构只需要大概了解即可 多关注核心容器Core Container,因为工厂是Spring学习和使用的核心
自定义工厂
使用idea编辑器
- 创建项目
一直next
最后finish
- 创建包
- 写下相关的业务逻辑
- 配置文件
- 写工厂类
可以看注释来理解为什么要这样,也是煞费苦心为了大家更好的理解
- 写测试类并运行
代码的优化,由于配合文件的写死,会导致移植性差,所以给参数配置文件加入变量来接收
构建maven项目
由于篇幅和内容的原因,我就不详细介绍,大家可以从下面的链接来学习
https://mp.weixin.qq.com/s?src=11×tamp=1600765378&ver=2599&signature=enQieSxF2wKRQN6ylTDIQHUmBbE-4fwiTaCALZZr-ImWvYZaAJ-U8V8Y0Nm9Nf0Q6O3EYEGVQ0-vPUF8R-iUjkasCCLFxDwKMWnb*rw5ZGaUjG8E7Du2q5ETPQTLoX9s&new=1
Spring环境搭建并写测试类
- pom.xml配置Spring常用依赖
spring-context依赖实际上已经引入其他的Spring常用依赖
因为spring-context架包需要以上的依赖
依赖之间又彼此依赖,这样就只需要写最外层的依赖,就可以自动导入外层依赖的包,是maven的传递性- 创建Spring配置文件
创建Spring配置文件·就是实现了bean.properties文件的作用
- 写一个测试类
引入junit的依赖
IOC控制反转
控制反转,反转了依赖关系的满足方式,由自己创建写死依赖对象,变为由工厂创建(主动变为被动)
解决具有依赖关系的组件之间的强耦合,变得更稳健
-
项目中有强耦合的问题
-
解决方案
DI依赖注入
创建对象时,Spring工厂会通过set方法为对象的属性赋值
- Set注入
创建实体类
在配置文件注入值
写一个测试类看是否注入成功
自建类型又怎么set注入呢?
- 构造器注入(了解即可)
一样的流程截图
- 自动注入(了解即可)
不需要配置中给属性赋值,spring自动根据某种原则,在工厂中查找一个bean,为其注入属性值
上图有错误(第二个应该是基于名字自动注入值)
因为后续会有注解注入,以及自动注入使用不多,了解即可
每天我都会学习更新,今天就先到这,明天继续干!!