(一)Spring框架介绍

Spring框架基础教程:
(一)Spring框架介绍
(二)Spring IOC 简介
(三)Spring IOC - xml配置初级使用
(四)Spring IOC - xml配置高级使用
(五)Spring IOC - 注解使用
(六)Spring IOC - javaConfig使用
(七)Spring AOP - 原理简介
(八)Spring AOP - 核心概念简介
(九)Spring AOP - 简单配置
(十)Spring AOP - 使用详解
(十一)Spring 事务 - JdbcTemplate
(十二)Spring 事务 - 声明式事务
相关测试源码:https://github.com/dhe261193/Spring5.git

简介:

spring-framework:
  Spring是一个轻量级的Java开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,可以一站式构建企业级应用。Spring负责基础架构,为开发Java应用程序提供全面的基础架构支持,因此Java开发者可以专注于应用程序的开发。
  Spring提供的丰富功能,它们底层都依赖与它的两个特性依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)

官网地址:https://spring.io/projects/spring-framework#overview
Spring5中文手册:https://github.com/DocsHome/spring-docs/blob/master/SUMMARY.md
压缩包下载地址:https://repo.spring.io/ui/native/libs-snapshot-local/org/springframework/spring/
源码地址:https://github.com/spring-projects/spring-framework

框架(Framework):  
  框架就是一些类和接口的集合,开发者可以在这些类和接口的基础上,简化开发过程,提高开发效率。
  JAVA框架可以分为三层:表示层,业务层和物理层。框架又叫做开发中的半成品,它不能提供整个WEB应用程序的所有东西,但是有了框架,我们就可以集中精力进行业务逻辑的开发而不用去关心它的技术实现以及一些辅助的业务逻辑。

架构的发展历程:
(一)Spring框架介绍_第1张图片

单一应用架构:
  整个项目资源都在一个应用里,减少部署节点和成本。内部分为表现层(web),业务层(service),持久层(dao),此时简化增删改查工作量的数据访问框架(ORM)是关键。
  缺点:某个模块访问量增大会影响整体应用的性能;新增模块重新部署,可能导致其他模块无法使用。

垂直应用架构:
  单一应用由于访问量增大,增加机器带来的加速越来越小,此时把不同的模块拆分成单个应用打包部署可以提升效率。此时每个应用都是三层,用于加速前段页面开发的Web框架(MVC)是关键。
  缺点:通用的服务无法共享,每个应用都需要单独实现一遍,造成资源浪费。

分布式服务架构:
  垂直应用越来越多,将核心服务抽取出来作为独立的服务,部署在不同的服务器,通过RPC实现数据共享。此时用于提高业务复用及整合的分布式服务框架(RPC)是关键。
  缺点:服务太多,存在依赖,服务监控和维护问题。

流动计算架构:
  服务越来越多,增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时用于提高机器利用率的资源调度和治理中心(SOA)是关键。

Java主流架构演变之路:

Servlet + Jsp +JavaBean
 ==> MVC三层架构
  ==> 使用EJB进行应用的开发,但是EJB是重量级框架(在使用的时候,过多的接口和依赖,侵入性强),在使用上比较麻烦
   ==> Struts1/Struts2 + Hibernate + Spring
    ==> SpringMVC + Mybatis + Spring
     ==> SpringBoot开发,约定大于配置

Spring的模块

(一)Spring框架介绍_第2张图片
模块简介:

Data Access/Integration: 数据的获取/整合模块,包括了JDBC,ORM,OXM,JMS和事务模块
Web: 提供面向web整合特性
AOP + Aspects: 面向切面编程模块
Instrumentation: 提供了class instrumentation支持和类加载器的实现来在特定的应用服务器上使用,几乎不用
Messaging: 包括一系列的用来映射消息到方法的注解,几乎不用
Core Container: 核心容器模块
Test: Spring的单元测试模块

Spring的优点

  1. Spring通过DI、AOP和消除样板式代码来简化企业级Java开发
  2. Spring框架之外还存在一个构建在核心框架之上的庞大生态圈,它将Spring扩展到不同的领域,如Web服务、REST、移动开发以及NoSQL
  3. 低侵入式设计,代码的污染极低
  4. 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺
  5. Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦
  6. Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提供了更好的复用
  7. Spring的ORM和DAO提供了与第三方持久层框架的的良好整合,并简化了底层的数据库访问
  8. Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部
  9. 任何一个语言或者任何一个框架想要立于不败之地,那么很重要的
    就是它的生态

你可能感兴趣的:(Spring,spring,java,后端,maven)