【SpringBoot2 从0开始】springboot 与 spring

简介: 【SpringBoot2 从0开始】springboot 与 spring

一、spring 可以做什么


之前已经学习了 spring 的 IOC容器、AOP、springMVC 开发web应用等等,这里的 spring 实际是指 spring-framework 这个框架。


然而,宏观上的 spring 是一个生态圈。


spring 可以做什么?参考官网:


  • 微服务开发:当系统功能越来越多,就需要进一步拆分系统功能,一个模块一个应用,spring 可以帮助快速开发微服务。
  • 响应式编程:基于异步非阻塞,可以通过整个应用之间构建异步数据流的方式。异步数据流允许占用少量的资源,比如线程、内存、CPU等,构建一个高吞吐应用。
  • cloud 分布式云开发:将大型应用拆分成微小应用之后,就会产生分布式应用,cloud 提供解决方案。
  • 开发web应用:像之前示例里的,利用框架完成页面和后台系统的交互
  • serverless:无服务开发。简单来说,函数即服务,无需购买任何服务器,上到云平台,按照实际占用的资源计费,节省成本。
  • 事件驱动:基于事件的方式构建实时数据流,可以通过响应式编程,完成高吞吐应用的开发。
  • batch:批处理业务。


spring 生态圈里有丰富的内容,这些组合起来就可以帮我们完成这么多事情,上面也只是几大特色而已。


当然,在使用生态圈里的内容进行整合使用的过程中也是有点痛苦的,往往会陷入"配置地狱"。这一点,在之前的springMVC学习中也已经有所体验了,这还仅仅是整合了 springMVC 而已。


那么,谁来解决这个问题呢?没错,就是springboot。


二、springboot


解放繁琐的配置,是springboot与生俱来的使命。


springboot 就相当于是一个高层的框架,底层还是spring-framework。它可以整合整个 spring 系列的技术栈,帮我们完成应用开发,不用写那么多繁重的配置。


打个比方,你买电脑虽然可以自己 diy组装,但是需要非常强的动手能力。但是大多数人还是喜欢省事点,直接买个品牌机器,开箱即用。


本次学习是基于springboot2,由于spring5引入了重大升级,所以springboot2相比之前版本也是有不少的使用变化。


spring5 中的大更新就是响应式编程,对应的在 springboot2中,数据访问层就支持了构建异步数据流的方式进行响应式开发。


SpringBoot 优点


  • 创建独立Spring应用
  • 内嵌web服务器:在之前springmvc 开发应用,最终把应用打成一个war包,最终部署到tomcat上。所以,目标环境里还需要装tomcat,进行配置等。
    使用soringboot,目标环境即使没有tomcat也没关系,这里已经集成了,直接运行即可。
  • 自动 starter 依赖,简化构建配置:
    之前开发springmvc,需要导入一大堆依赖,现在只需要导入一个依赖web-starter。另外还可以自动帮我们控制好导入的版本,保证可以协同工作。
  • 自动配置Spring以及第三方功能:这个就是我们最喜欢的,可以解放配置的功能。
  • 提供生产级别的监控:提供生产级别的监控、健康检查及外部化配置。几乎不用任何配置,运维人员就可以监控到指标。
  • 无代码生成,无需编写 xml:底层自动发现场景,进行配置。


总之,springboot是整个 spring 技术栈的一站式框架。或者说是,简化 spring 技术栈的快速开发脚手架。


SpringBoot 缺点


  • 版本抵达快,需要时刻关注变化。这也变相说明生态社区非常活跃,其实也不算是个缺点,算特点。


  • 封装太深,内部原理负责,不容易精通。

三、如何学习 springboot


最好的老师,还得是官方文档,地址:https://spring.io/projects/spring-boot

进入官方地址后,点击LEARN可以看到有好多版本,以正式稳定版为主,点击2.5.4 GA后的文档连接,进入说明文档。


1268169-20210823233452609-1490750622.png


文档结构


大概分为下面的模块:


1268169-20210824123415564-901646813.png


1268169-20210824123429792-680208059.png

官方文档是后续学习过程中,依赖的重要学习资料。


如果要去了解版本的更新内容,可以到 https://github.com/spring-projects/spring-boot/wiki#release-notes


1268169-20210824123955228-2107374508.png


查看版本日志。

相关文章
|
12月前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
12月前
|
前端开发 Java 微服务
《深入理解Spring》:Spring、Spring MVC与Spring Boot的深度解析
Spring Framework是Java生态的基石,提供IoC、AOP等核心功能;Spring MVC基于其构建,实现Web层MVC架构;Spring Boot则通过自动配置和内嵌服务器,极大简化了开发与部署。三者层层演进,Spring Boot并非替代,而是对前者的高效封装与增强,适用于微服务与快速开发,而深入理解Spring Framework有助于更好驾驭整体技术栈。
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
925 2
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
7746 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
1093 0
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
3123 0
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1634 3
|
前端开发 Java Maven
Spring 和 Spring Boot 之间的比较
本文对比了标准Spring框架与Spring Boot的区别,重点分析两者在模块使用(如MVC、Security)上的差异。Spring提供全面的Java开发基础设施支持,包含依赖注入和多种开箱即用的模块;而Spring Boot作为Spring的扩展,通过自动配置、嵌入式服务器等功能简化开发流程。文章还探讨了两者的Maven依赖、Mvc配置、模板引擎配置、启动方式及打包部署等方面的异同,展示了Spring Boot如何通过减少样板代码和配置提升开发效率。总结指出,Spring Boot是Spring的增强版,使应用开发、测试与部署更加便捷高效。
1894 11