Spring Boot开发------介绍

大家看Spring Boot的时候让我们来先看看Spring ,

没有学过的可以去我主页的看我发表的Spring文章,概况的可能不是很好请大家见谅

一、Spring 的发展

        1、 spring 1.x时代

                在spring1.x时代,都是通过xml文件来配置bean,随着项目的不断扩大,需要将xml配置放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换

         2、spring 2.x时代

                随着jdk1.5带来的注解支持,Spring2.x可以使用注解对bean进行申明和注入,大大的减少xml配置文件,同时也大大简化了项目的开发。

                那问题来了,究竟是用xml配置还是注解呢?

         3、注解还是xml

                在早期版本中,由于当时的jdk并不支持注解,因此只能用xml配置,随着版本的更新,它加入了注解的新特征,这样注解就被广泛的使用起来,于是spring内部也分为两派,一派是xml配置,另一派是注解。为了简化开发,在spring2.X之后的版本也引入了注解, 不过是少量的注解,如@Component @Service等,但是功能还是不强大,因此对于srping的开发,大 部分情况下还是使用XML为主,随着注解的增加,尤其是Servlet3.0之后,WEB容器可以脱离web.xml 的部署,使用得WEB容器完全可以基于注解开发,对于spring3和spring4的版本注解功能越来越强大。 对于XML的依赖起来越少,到了4.0完全可以脱离XML, 所以在spring中使用注解开发占据了主流地位,近年来。微服务的流行,越来越多的企业要求快速开发,所以spring Boot更加兴旺了。

                  1、应用的基本配置使用xml,比如数据源和资源文件等

                  2、业务的开发使用注解,@Service

           4、Spring3.x到Spring4.x

                从Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean。

           5、Spring 5.x

             对jdk8的增强、核心容器的改进、新的SpringWebFlux模块、测试方面的改进,如今也是处于这个时代。

优缺点分析

           优点

                Spring是Java企业版的轻量级代替品。不需要开发重量级的Enterprise JavaBean,Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象实现了EJB的功能。

           缺点

                虽然Spring组件代码是轻量级的,但是它的配置也是重量级的,所有这些配置都代表了开发时的损耗,因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所有编写配置挤占了编写程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。

                除此之外,项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐 标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容 问题就会严重阻碍项目的开发进度。

SpringBoot简介

        SpringBoot 是一个快速开发的框架, 封装了Maven常用依赖、能够快速的整合第三方框架;简化 XML配置,全部采用注解形式,内置Tomcat、Jetty、Undertow,帮助开发者能够实现快速开发, SpringBoot的Web组件 默认集成的是SpringMVC框架。

系统要求:

        ①JDK1.8

        ②maven3.x

        ③spring tools suite3.9

        ④springboot2.x版本

        ⑤spring5以上

本课程采用Java1.8版本、SpringBoot2.1.3版本

1、SpringBoot原理介绍:

        1. 能够帮助开发者实现快速整合第三方框架 (原理:Maven依赖封装)

        2. 去除xml配置 完全采用注解化 (原理:Spring体系中内置注解方式)

        3. 无需外部Tomcat、内部实现服务器(原理:Java语言支持内嵌入Tomcat服务器)

2、SpringBoot的特点

        为基于Spring的开发提供更快的入门体验 开箱即用(out-of-the-box),没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定 的需求 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置 等 SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式

3、SpringBoot的核心功能

        起步依赖

起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库 的传递依赖,这些东西加在一起即支持某项功能。 简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

自动配置

        Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因 素,才决定Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。

4、总结为什么用springboot

        快速创建独立运行的Spring项目以及与主流框架集成 嵌入的 Tomcat,无需部署 WAR 文件 简化 Maven 配置 自动配置 Spring 提供生产就绪型功能,如指标,健康检查和外部配置 开箱即用,没有代码生成,也无需 XML 配置 与云计算天然集成 微服务简介:

        1、传统开发模式 所有的功能打包在一个 WAR包里,基本没有外部依赖(除了容器),部署在一个JEE容器 (Tomcat,JBoss,WebLogic)里,包含了 DO/DAO,Service,UI等所有逻辑。

优点:

        ①开发简单,集中式管理

        ②基本不会重复开发

        ③功能都在本地,没有分布式的管理和调用消耗

缺点:

        1、效率低:开发都在同一个项目改代码,相互等待,冲突不断

        2、维护难:代码功功能耦合在一起,新人不知道何从下手

        3、不灵活:构建时间长,任何小修改都要重构整个项目,耗时

        4、稳定性差:一个微小的问题,都可能导致整个应用挂掉

        5、扩展性不够:无法满足高并发下的业务需求

        6、对服务器的性能要求要统一,要很高

2、微服务开发

       微服务:架构风格(服务微化) 微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通信机制,可 以部署在单个或多个服务器上,微服务也指一种松耦合的,有一定有界上下文的*面向服务的架构* 目的:有效的拆分应用,实现敏捷开发和部署

优点

        1,每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求

        2,微服务能够被小团队开发,这个小团队2-5人就可以完成了

        3,微服务是松耦合的,是有功能,有意义的服务,无论在开发阶段或部署阶段都是独立的

        4,微服务可以使用不同的语言开发

        5,微服务能部署在中低端配置的服务器上

        6,很容易和第三方集成

        7,每个服务都有自己的存储能力,单独的库,也可以有统一的库

缺点

        1,微服务会带来过多的操作

        2,可以有双倍的努力

        3,分布式系统可能复杂难管理

        4,分布跟踪部署难

        5,当服务数量增加时,管理复杂度增加

SpringBoot和SpringMVC区别、SpringCloud区别 SpringBoot 是一个快速开发的框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形 式,内置Tomcat容器,帮助开发者能够实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC 框架。

SpringMVC是控制层。 SpringCloud依赖与SpringBoot组件,使用SpringMVC编写Http协议接口,同时SpringCloud是一 套完整的微服务解决框架。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值