一、Spring简介

1、Spring概览

用来简化Java开发。

一个Java应用层程序,是由许多个类组成的,这些类之间必然存在依赖关系,当项目越做越大,依赖关系越来越复杂,需要一个专业的框架来处理类之间的关系,为了解决这个问题,SUN公司推出了EJB(重量级)专门用来解决类的依赖问题。

Spring(Spring FrameWork)是一个开源框架。是为了解决企业级应用开发的复杂性而创建的,即简化Java开发,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。

bean的各种名称……虽然Spring用bean或者JavaBean来表示应用组件,但并不意味着Spring组件必
须要遵循JavaBean规范。一个Spring组件可以是任何形式的POJO(POJO(Plain Ordinary Java
Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称)。

Spring是如何简化Java开发的?为了降低Java开发的复杂性,Spring采取了以下4中关键策略:

  • 基于POJO的轻量级和最小侵入性编程;
  • 通过依赖注入和面向接口实现松耦合;
  • 基于切面和惯例进行声明式编程;
  • 通过切面和模板减少样板式代码。

2、环境准备

2.1 jar包下载

官网jar下载地址:https://repo.spring.io/libs-release-local/org/springframework/spring/

2.2 Spring结构图

spring相比jfinal的优势 spring与java的关系_Web


各个模块之间依赖图

spring相比jfinal的优势 spring与java的关系_Java_02

3.相关核心的模块说明

spring核心模块

模块名称

主要功能

spring-core

依赖注入IOC与DI的最基本实现

spring-beans

Bean工厂与Bean的装配

sping -context

定义的基础的Spring的Context上下文以及IOC容器

spring-context-support

对Spring IoC容器的拓展支持、以及IOC子容器

spring-expression

Spring表达式语言

Spring切面编程模块

模块名称

主要功能

spring-aop

面向切面编程的应用模块

spring-aspects

整合AspectJ、AOP应用框架

spring-instrument

动态Class Loading模块

Spring之数据访问和继承模块

模块名称

主要功能

spring-jdbc

Spring提供的JDBC抽象框架的主要实现模块、用于简化Spring JDBC操作

spring-tx

SpringJDBC 事务控制实现模块

spring-orm

主要继承Hibernate、Java Persistence API(JPA)和Java Data Object(JDO)

spring-oxm

将java对象映射成XML数据、或者将XML数据映射为Java对象

spring-jms

Java Messaging Service能够发送和接受信息

Spring值Web模块

模块名称

主要功能

spring-web

提供了最基本的Web支持、主要建立与核心容器之上、通过Servlet或者

Listener来初始化IoC容器

spring-webmvc

实现了Spring MVC 的Web应用

spring-websocket

主要是与Web前端的全双工通讯的协议

Spring测试和通信报文模块

模块名称

主要功能

spring-test

spring-test 为测试提供支持

spring-messaging

从Spring4开始新加入的一个模块。主要的职责是为Spring框架集成一些基础的报文传送应用