1、Spring
1.1简介
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
EJB(很复杂的大型框架)
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
- 历史:
- 2002年,推出了interface21(interface21是Spring的前身),2004年3.24诞生了Spring发布了1.0版本。
- Rod JohnSon是Spring的创始人,他是音乐学博士(大佬)
- Spring理念:使现有的技术更加容易使用,本身是一种融合剂,整合现有框架技术。
-
两套框架:
- SSH:Struct+Spring+Hibernate!
- SSM:SpringMvc+Spring+Mybatis
- 官网
-
Maven地址:
<!-- Spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.8.RELEASE</version> </dependency> <!-- JDBC--> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.8.RELEASE</version> </dependency>
轮子理论:不要重复造轮子!(不要在框架上重复这个框架)
1.2 Spring优点
- 开源免费框架(容器)
- 轻量级(很小),非入侵式(不会改变原来代码的情况)的
- 控制反转(IOC),面向切片(AOP)
- 支持事务处理,对框架整合的支持。
Spring是一个轻量级的控制反转和面向切面编程的开源框架
1.3 组成
1. 核心容器SpringCore: 核心容器提供Spring框架的基本功能。—-它主要的组件就是BeanFactory,是工厂模式的实现。同时BeanFactory适用控制反转(IOC)思想将应用程序的配置和依赖性规范与实际的应用程序分开。
2. Spring Context: Spring上下文是一个配置文件,主要向框架提供上下文信息。
3. SpringAop: 通过配置管理特性,SpringAOP模块直接将面向切面地编程功能集成到了Spring框架中,所以,它可以很容易地使Spring框架管理的任何对象支持AOP。SpringAOP模块也是基于Spring的应用程序中的对象提供了事务管理服务。—–比较强大的功能
4. SpringDAO: 它主要和dao层相关联,可以用该结构来管理异常处理和不同数据库供应商抛出的错误信息。*其中异常层次结构简化了错误处理,并且极大地降低了需要编写地异常代码数据(例如打开和关闭连接)。*
5. Spring ORM : Spring框架中插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
6. SpringWEB模块: Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7. SpringMVC:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、FreeMarker、Velocity、Tiles(jsp布局)、iText(报表处理) 和 poi。
1.4 拓展
现代化开发java就是基于Spring的
- SpringBoot:
- 一个快速开发的脚手架
- 基于它可以快速开发单个微服务
- 约定大于配置
- SpringCloud
- 基于SpringBoot实现的
很多公司使用SpringBoot进行快速开发,学习SpringBoot前提:需要完全掌握Spring和SpringMvc
在Spring发展了多年之后,融合的框架实在太多了,虽然配置很简单,但是蚁多咬死象,配置变得十分繁琐,人称配置地狱
Comments | NOTHING