spring学习之路(一)

本文介绍了Spring框架的狭义和广义概念,包括Spring Framework的核心特性如IOC和AOP,以及Spring技术栈如Spring Data、Spring Batch、Spring Integration、Spring Security、Spring Mobile、Spring Boot和Spring Cloud等。强调了Spring Boot和Spring Cloud在现代开发中的重要性,并简单提及了Spring MVC的MVC设计模式。
摘要由CSDN通过智能技术生成

为什么要写这个呢?我面试的时候让人刺激了,确实本身自己也不知道,像我这种半路出家做程序猿的,什么也不知道,也没人教知识(半路出家的很多吧,哈哈),想想还有点可怜,既然没人教就自己抽时间学习吧,其他的都是借口。

学习一段时间后,本来是想介绍xml的配置,但是一想,spring这个框架涉及的相关知识太多了,如果没有想关的疏导,就跟一团浆糊一样,我想你们也是一样的。

俗话说---实践出真知,但实践的前提是理论(理论来源于“想象”,个人理解)。

都知道spring是轻量级的可以解决企业级应用多用途的框架。可spring是个什么鬼,其实还是有不少人不明白。

这是我在《spring5开发大全》这本书里面看的,这本书写的很好,适合工作2年以上的朋友看。觉得写的不详细的可以买了看看。

写的文章里面有很多行业的名词,不管你是小白还是大佬,不明白的要弄懂,出笑话就不好了

一、spring的狭义和广义

1.狭义:spring指spring框架(spring framework(在网上搜spring为什么会出spring framework的原因))。

          它的主要优势之一是:分层架构。分层架构允许使用者选择使用哪一个组件,同时为java EE应用程序开发提供集成的框架。

spring框架使用基本的pojo(普通的javabean,处理业务逻辑)完成以前有EJB完成的事情。spring 框架的核心是控制反转(IOC)和面向切面(AOP)。

spring框架是一个分层的、面向切面于java应用的一站式轻量级开元框架。

2.广义:spring指spring框架为核心的spring的技术栈。

技术栈:spring的衍生项目

a.  spring data:它是spring框架中的数据访问模块对JDBC及ORM提供了很好的支持。随着NoSql和大数据的兴起,多种多样的数据库和框架的出现,spring data的产生是为了让spring开发者能更方便地使用这些新技术而诞生的“大”项目-------------它由一系列小的项目组成,分别为不同的技术提供支持,如spring  data  jpa、spring data Hadoop、spring data redis等。通过spring data,开发者可以用spring 提供的相对一致的方式来访问位于不同类型的数据存储中的数据

b.  spring batch:一款专门针对企业级系统中的日常批处理任务的轻量级框架,能够帮助开发者能方便开发出健壮、高效的批处理引用程序。通过它可以轻松构建出轻量级的、健壮的并口处理应用,并支持事物、并发、流程、监控、纵向和横向扩展,提供统一的接口管理和任务管理。spring batch对批处理进行了一定的抽象,它的框架可以大致分为3层,自上而下分别是业务逻辑层、批处理执行环境层和基础设施层。

c.  spring integration:在企业软件开发过程中,经常会遇到需要与外部系统集成的情况。开发时使用了spring框架,那么不妨考虑spring integration----------它为spring编程模型提供了一个支持企业集成模式的扩展,在应用程序中提供轻量级的消息机制,可以通过声明式的适配器于外部系统进行集成。spring integration中有几个概念,分别为message(带有元数据的java对象)、channel(传递消息的管道)和message endpoint(消息的处理端)。在处理端可以对消息进行转换、路由、过滤、拆分、聚合等操作;更重要的是可以使用channel adapter,这是应用程序与外界交互的地方,输入是inbound,输出是outbound,可选的连接类型有很多,如AMQP、JDBC、web  services等。

d.  spring security: 前身书Acegi,较为成熟的子项目之一,作用:可定制化的身份验证和访问控制框架。开源书《spring security 教程》,作为权限控制还是不错的框架

e.  spring mobile:是对spring mvc的扩展,在简化移动web应用的开发。

f.  spring for android:简化Android原生应用程序开发的spring扩展

j.  spring boot: 指spring团队的全新框架。其目的是为了简化新spring应用的初始搭建及开发过程。该框架使用特定的方式来进行配置,从而使开发人员不在需要定义样板化的配置(意思就是减少配置文件)。spring boot为平台及第三方库提供了“开箱即用”的设置。开源书《spring boot教程》,现在市面上很多关于spring boot的相关书籍,具体没什么好书推荐,先看看一般的视频可以搭建一个spring boor的框架。

h. spring cloud:使用spring cloud,开发人员可以“开箱即用”地实现分布式系统中常用的服务。这些服务可以在任何环境下运行,不仅包括分布式环境。spring cloud 基于spring  boot来进行构建服务,可以轻松的集成第三方库。

这是目前框架里面运用的最广泛的技术栈,官网上有spring data 、spring boot、spring cloud这三个,可以重视一下,其他的技术栈,可以在https://spring.io/projects 上面了解

 

拓展----spring mvc  ,  你们有没有想过这是很么?我在网上看了一下,

回答的简直就是醉了,看了半天都不知道写的什么意思

先理解mvc是一种框架模式,分三层 逻辑、数据、界面显示。

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式

    Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据

    View(视图)是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的

   Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

理解这些,下面这句话就好理解了

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行Web开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架

说明spring  mvc  只是spring的一种格式,也可以说明是技术栈之一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值