spring之基础概念

本文详细介绍了Spring框架的演变历程,从单一应用架构到流动计算架构的四个阶段,强调了Spring在简化开发、提高效率方面的优势。Spring作为一个IOC和AOP容器,通过DI和解耦特性,降低了组件间的依赖,构建了一个庞大的生态系统,支持多种持久层框架的整合,提供了高度的开放性和可扩展性。此外,Spring的生态包括Web服务、移动开发以及NoSQL等多个领域。
摘要由CSDN通过智能技术生成

1.框架

框架就是某一群人和某些组织定义好的类或者接口,并定义好了一系列实现,让我们在这些定义好的类和接口的基础上,能用这些类来快速形成某一领域和某一行业的解决方案,从而简化了开发的过程,提高了开发效率。

2.spring【春天】

架构设计

随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应付,分布式服务架构和流动计算架构的衍生势在必行,亟需一个治理系统确保架构有条不紊的演进。

1.单一应用架构

当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键 。

2.垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。

3.分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

4.流动计算架构

 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

JAVA主流架构升级过程

1.jsp+servlet+javaBean

2.MVC三层架构

4.使用EJB进行应用开始,EJB是重量框架(使用时,过度依赖,侵入性强)使用上比较繁琐。

4、Struts1/Struts2+Hibernate+Spring

5、SpringMVC+Mybatis+Spring

6、SpringBoot开发,约定大于配置

spring核心解释

1.spring是一个开源框架

2.spring是简化开发而生,让开发变得简洁和优雅。

3.spring是一个IOC【控制反转】AOP【面向切面编程】容器【包含并管理引用对象的生命周期】框架。

spring优点:

1.spring通过DI、AOP和消除样板式代码来简化企业级Java开发。

2.低侵入设计,污染性极低。

3.独立于各种应用服务器,基于spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。

4. Spring框架之外还存在一个构建在核心框架之上的庞大生态圈,它将Spring扩展到不同的领域,如Web服务、REST、移动开发以及NoSQL。

5.Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦。

6.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提供了更好的复用。

7.Spring的ORM和DAO提供了与第三方持久层框架的的良好整合,并简化了底层的数据库访问。

8.Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选择集成spring部分或者全部。

 

DI和IOC的本质区别

很多人都觉得IOCDI是一个东西,大方向上面这么认为是没问题的,但是严谨的来说,IOCDI是从不同的方向去描述同一件事,IOC是根据容器的方向描述,而DI是具体实现来描述。也就是说,IOC是设计理念,DI是具体实现方式。

总结:

spring两大优势

1.解耦

在面向对象设计中,底层实现都由有N个对象组成的,所有对象都都相互合作来实现系统的业务逻辑。那么如果这种组合关系一点有一环出问题,接下来的业务逻辑将将会受到影响,出现一些无法避免的问题。这就是耦合性太高的原因,随着业务越来乐队,有些对象之间的耦合性无法避免,关系越会越来越复杂,经常需要嵌套依赖,面临这种场景我们只能做到尽量降低对象之间的耦合性,有时候模块之间也会出现耦合性太高的问题,spring的IOC正好可以实现对象之间的解耦,spring的IOC理论也是至今最为广泛未使用到的。

2.生态

任何一个语言或者任何一个框架想要立于不败之地,那么很重要的就是它的生态, 然spring本身就是一个生态系统,这也让它立于不败之地。

其中部门内容来自马士兵教育课上资料,加入了一些自己的理解。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值