springboot学习笔记1:什么是springboot

springboot学习笔记1:什么是springboot

      • 回首
      • 现在
      • springboot需要学什么
      • 回顾spring
      • 什么是springboot
      • 什么是微服务
      • 写在后面

兜兜转转我们来到了微服务阶段

从今天起就要开始springboot的学习~

前面知识的笔记我会在复习的时候一一补上,求轻打(手动狗头)

回首

javase:基础语法,OOP,集合与常用类,网络编程,多线程,注解与反射等(最为重要的阶段)

MySQL:持久化,开始了解什么是后端,这里学不好,web直接烂掉

HTML+CSS+JS+jQuery+一些简单的前端框架:此时我们开始操作视图层,尝试构建一个好看的界面,但这个时候对于后端程序员来说虽然学起来轻松一些,但实际操作的时候却难以掌握,这主要是因为对于前端不够熟悉,对框架的操作不熟练,css也不好,没有一个好的审美

javaweb:这时我们已经可以独立开发MVC三层架构的网站了,但此时的网站比较笨重,代码量大,不易实现,较为原始,同时原理也较难理解

ssm:为了解决web难以掌握的问题,框架由然而生,简化了我们的web开发流程,从复杂的代码转化为复杂的配置,因此,spring也有“配置地狱”的美称

此时我们的web程序是打包在war包里,在tomcat服务器中运行

现在

springboot:为了解决复杂的配置问题,万众瞩目的“春季靴”诞生了,此时还有一个比较流行的名词“微服务架构”,而我们的war包也变成了jar包,内嵌tomcat

springcloud:再到后来,我们的服务越来越多,springcloud诞生

springboot需要学什么

springboot学习笔记1:什么是springboot_第1张图片

回顾spring

Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

spring是如何简化web开发的

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

  1. 基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
  2. 通过IOC,依赖注入(DI)和面向接口实现松耦合;
  3. 基于切面(AOP)和惯例进行声明式编程;
  4. 通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

什么是springboot

springboot是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,用几行代码就可以开发一个http接口。

所有的技术框架的发展似乎都遵循了一条主线规律:从一个复杂应用场景 衍生 一种规范框架,人们只需要进行各种配置而不需要自己去实现它,这时候强大的配置功能成了优点;发展到一定程度之后,人们根据实际生产应用情况,选取其中实用功能和设计精华,重构出一些轻量级的框架;之后为了提高开发效率,嫌弃原先的各类配置过于麻烦,于是开始提倡“约定大于配置”,进而衍生出一些一站式的解决方案。

现如今,框架的发展路线形成了javaEE–>spring–>springboot这样一个过程,springboot之后还会有什么新的框架或技术火起来不得而知,或许是服务网格,又或许是其他……总之,既然选择了这一条路,学不死就往死里学就是我们的人生格言(手动笑哭)

言归正传,随着spring的不断发展,我们渐渐发现,由于繁琐的配置,哪怕只是开发一个简单的网页,仍旧需要大量的配置文件,故spring也有“配置地狱”之称。于是乎,springboot在这样的背景下诞生了,它基于spring开发,用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),SpringBoot 应用中这些第三方库几乎可以零配置的开箱即用。

springboot的优点

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • springboot内嵌了servlet容器,降低了对环境的要求,机器有java运行环境,可以将项目打包成jar包,通过java命令 java -jar ***.jar 来执行
  • 没有冗余代码生成和XML配置的要求
  • 它减少了大量的开发时间并提高了生产力

什么是微服务

微服务是一种架构的思想,类似于后端的MVC架构,前端的MVVM架构

关于微服务,博主的理解并不深刻,仅仅只是了解的层次,在这里贴上一篇马丁·福勒的论文以及其译文供大家参考

微服务原文(马丁·福勒)

译文

写在后面

新人总结整理不易,还望大家多多支持~(手动牛头)

加油!
在这里插入图片描述

你可能感兴趣的:(springboot,java,spring,boot,spring,web)