一起学习SSM框架之spring(一)

引言

  1. 为什么要使用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&timestamp=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,为其注入属性值
    在这里插入图片描述
    上图有错误(第二个应该是基于名字自动注入值)
    因为后续会有注解注入,以及自动注入使用不多,了解即可

每天我都会学习更新,今天就先到这,明天继续干!!

猜你喜欢

转载自blog.csdn.net/ozl520/article/details/108731362