【Spring】spring框架简介
创始人
2025-05-29 10:18:20
0

一、框架

1.框架的基本特点:

  1. 框架(Framework),是基于基础技术之上,从众多业务中抽取出的通用解决方案;
  2. 框架是一个半成品,使用框架规定的语法开发可以提高开发效率,可以用简单的代码就能完成复杂的基础业务;
  3. 框架内部使用大量的设计模式、算法、底层代码操作技术,如反射、内省、xml解析、注解解析等;框架一般都具备扩展性;
  4. 有了框架,我们可以将精力尽可能的投入在纯业务开发上而不用去费心技术实现以及一些辅助业务。

2.Java中常用的框架:

不同语言,不同领域都有属于自己的框架,使用框架开发是作为程序员的最基础的底线。Java语言中的框架,可以分为基础框架和服务框架:

  • 基础框架:完成基本业务操作的框架,如MyBatis、Spring、SpringMVC、Struts2、Hibernate等
  • 服务框架:特定领域的框架,一般还可以对外提供服务框架,如MQ、ES、Nacos等

二、spring介绍

1.Spring框架概述

spring是一个开源的轻量级Java开发应用框架,可以简化企业级应用开发。Spring解决了开发者在JavaEE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。是当前企业中Java开发几乎不能缺少的框架之一。Spring的生态及其完善,不管是Spring哪个领域的解决方案都是依附于在Spring Framework基础框架的。

2.Spring框架的历史

  • Jsp 默默扛下所有;
  • MVC+三层架构分工明确,但开发成本及其高;
  • EJB重量级框架出现,走出一个困境,有进入另一个困境;
  • Spring春天来到,随之,SSH风生水起、称霸武林;
  • Spring 稳住江湖大哥位置,SSM开始上位;
  • Spring本着“拿来主义”的思维快速发展,生态不断健全;
  • SpringBoot又一里程碑崛起,把“约定大于配置“思想玩的炉火纯青;
  • SpringCloud打包了微服务众多解决方案,应对互联网项目更加easy!

3.Spring Framework技术栈图示

请添加图片描述

  • Data Access:数据访问
  • Data Integration:数据集成
  • Web:web开发
  • AOP:面向切面编程Aspects:AOP思想实现
  • Core Container:核心容器
  • Test:单元测试与集成测试

三、spring四大内容

在这里插入图片描述

1.loC基础容器

lnversion of Control,控制反转,强调的是原来在程序中创建Bean的权利反转给第三方。
Spring两大核心之一,其他组件功能的基础,主要涉及Bean产生和关系等。

(1)DI

Dependency Injection,依赖注入,强调的Bean之间关系,这种关系第三方负责去设置。

2.AOP面向切面编程

Aspect Oriented Programming,面向切面编程,功能的横向抽取,主要的实现方式就是Proxy。
Spring两大核心之一,用横向抽取思想对Bean进行增强,主要涉及切面配置、声明式事务控制等。

3.Spring整合web环境

Spring整合web的方式、原理和整合web层各个MVC框架的思想。

4.web层解决方案-SpringMVC

基于MVC思想打造的框架,摆脱Servlet,用更简单的方式开发web层代码。

四、传统Javaweb开发困惑及解决方案

问题一:层与层之间紧密耦合在了一起,接口与具体实现紧密耦合在了一起

解决思路:程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象

在这里插入图片描述

问题二:通用的事务功能耦合在业务代码中,通用的日志功能耦合在业务代码中

解决思路:程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象的代理对象
请添加图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...