【SpringBoot 2】(一)基础知识了解学习

简介: 【SpringBoot 2】(一)基础知识了解学习

1 初识SpringBoot

1.1 概念

 SpringBoot是Spring全家桶的成员之一,基于约定优于配置的思想(即有约定默认值,在不配置的情况下会使用默认值,在配置文件下配置的话会使用配置的值)。SpringBoot是一种整合Spring技术栈的方式(或者说是框架),同时也是简化Spring的一种快速开发的脚手架。


1.2 为什么要使用SpringBoot

       官网对这个问题作出如此解答



1.2.1 SpringBoot的优点

创建独立Spring应用:SpringBoot本身创建的也是一个Spring应用

内嵌web服务器:Spring的web项目需要打成war使用tomcat服务器运行,SpringBoot创建的应用自带服务器,无需再下载tomcat

自动starter依赖,简化构建配置:只需导入相关场景的依赖,其底层需要使用的各个jar包和版本都已经配置好了

自动配置Spring以及第三方功能:取代之前Spring的一系列对spring、SpringMVC、MyBatis的配置文件,直接上手编写业务代码

提供生产级别的监控、健康检查及外部化配置

无代码生成、无需编写XML


1.2.2 SpringBoot的缺点

版本迭代更新太快,人称版本帝

封装的太深,内部原理复杂,不容易精通

2 SpringBoot的技术背景

2.1 微服务

       SpringBoot是一种用来管理微服务的框架,让程序员可以不必在配置与逻辑业务之间进行思维切换,从而加快Spring开发的速度。


       微服务是一种架构风格,这种风格习惯于将一个应用围绕业务功能拆分为一组小型服务。每个服务运行在自己的进程内,也就是可独立部署和升级。各个微服务之间使用轻量级HTTP交互,  可以由全自动部署机制独立部署。微服务是去中心化的,实现服务自治,即服务可以使用不同的语言、不同的存储技术。


2.2 分布式

       由于微服务架构风格的兴起,一个应用被拆分成为许多的微服务独立部署之后,就会导致分布式的产生。


       分布式的存在会导致一些问题需要解决:远程调用(各个微服务之间相互调用)、服务发现(确认哪些服务是可用的)、负载均衡(决定调用哪个服务)、服务容错(各种错误情况下的处理方式)、配置管理(修改配置中心的配置,部署在不同机器上的相同服务自动同步最新配置)、服务监控(多个服务以及云平台的资源消耗和健康状况)、链路追踪(出错后通过链路找到出错的服务)、日志管理(整个分布式网路上所有的服务的日志信息)、任务调度(对某一任务进行定时任务时,部署在不同机器上的相同服务的触发个数、触发方式……)


       以上问题的解决方法:SpringBoot + SpringCloud + SpringCloudDataFlow


2.3 云原生

       服务开发之后需要使用云部署供大家应用,原生应用上云又会产生以下问题:服务自愈(服务崩了能否在另一台服务器上自动部署一个一样的服务)、弹性收缩(流量高峰期间,服务是否可以自动在别的几台服务器上自动部署多台服务,过了高峰期之后再下线)、服务隔离(部署在一台服务器上的服务相互之间不影响)、自动化部署(不用一个一个将服务部署到服务器上)、灰度发布(服务更新时先更新其中的一小部分,等到新老版本共存没有问题之后,慢慢替换掉剩下的所有老服务)、流量治理(动态设置每个服务的进出流量)


相关文章
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的公考学习平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的公考学习平台附带文章源码部署视频讲解等
50 5
|
2天前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
9 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
2天前
|
存储 开发框架 Java
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
文章详细介绍了Spring、IOC、DI的概念和关系,解释了控制反转(IOC)和依赖注入(DI)的原理,并提供了IOC的代码示例,阐述了Spring框架作为IOC容器的应用。
4 0
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
|
2天前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
9 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
2月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
70 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
2月前
|
缓存 前端开发 JavaScript
前后端分离 SpringBoot+Vue商城买卖系统通杀版本。大家可以参考学习一下
这篇文章介绍了一个使用SpringBoot+Vue开发的前后端分离商城系统,包括技术架构、开发环境、实现的功能以及项目截图,并展示了普通用户和商家端的功能界面。
前后端分离 SpringBoot+Vue商城买卖系统通杀版本。大家可以参考学习一下
|
3月前
|
Java 数据格式 微服务
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
📚 《滚雪球学Spring Boot》是由CSDN博主bug菌创作的全面Spring Boot教程。作者是全栈开发专家,在多个技术社区如CSDN、掘金、InfoQ、51CTO等担任博客专家,并拥有超过20万的全网粉丝。该教程分为入门篇和进阶篇,每篇包含详细的教学步骤,涵盖Spring Boot的基础和高级主题。
199 4
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
|
3月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的在线学习过程管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线学习过程管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线学习过程管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
3月前
|
安全 Java 数据库
三更草堂 Spring Security学习总结(思路整理)
Spring Security学习总结(思路整理)
|
2月前
|
设计模式 Java 程序员
学习 Spring 源码的意义是什么呢?
研究Spring源码能深化框架理解,提升代码分析与设计能力,助您掌握设计模式及最佳实践,增强解决问题的效率,促进职业生涯发展,并激发技术热情。选择稳定版本,从核心模块开始,结合实际项目并参与社区,让学习之旅既充实又具乐趣。