栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

SpringBoot学习

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot学习

01 官方文档

02 基础入门

一、spring的能力

Microservices 微服务

Reactive 响应式编程

Cloud 分布式

Web apps

Serverless 无服务 函数式服务 上云实时计费

Event driven 事件驱动 基于事件构建一个实时数据流 响应式 占用少资源

Batch 批处理

spring框架:配置地狱 —— 简化:springboot

二、spring5的重大升级

1、响应式编程 (原servlet 现reactive )

异步数据流 响应式开发应用 少量资源处理大量并发

2、源码实现的变化

Spring5基于jdk8实现 新特性(接口的默认实现,适配器模式不再需要)

三、SpringBoot是什么?

Boot  开始,开机

整合spring生态圈的一站式框架、高层框架

底层是spring

少量资源完成高吞吐开发

1、作用:

快速帮我们创建出生产级别的spring应用,让开发变得简单

简化spring开发的脚手架

2、优点:

创建独立Spring应用

嵌入式的内部容器 tomcat、jetty

自动starter依赖,简化构建配置(以前需要导jar包、控制版本、版本不对也不行,starter是启动器,保证jar包导入和版本控制)

自动配置Spring以及第三方功能(包括redis、sql等)

提供生产级别的监控、健康检查及外部化配置(应用、运维检查)

生产级别的应用配置(无代码生成、无需编写XML)只需要告诉运维需要修改什么

3、缺点:

版本更新迭代快(3.0强制jdk17)   版本帝

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

03  基础入门 - springboot的大时代背景

一、微服务

14年就提出了

模块拆分、独立进程、轻量级通信、自动部署、多种技术百家争鸣

二、分布式的问题

服务发现机制

负载均衡机制

容错

配置机制

服务监控 应用的健康

链路追踪

日志

任务调度(定时任务 一个执行还是单独执行 并行还是串行)

三、分布式的解决

SpringBoot + springCloud (网状整合 响应式数据流)

四、云原生(与运维关系比较大)

原生开发的应用上云 cloudnative

服务自愈

弹性收缩 流量高峰期间自动扩充

服务隔离 互不影响

自动化部署

灰度发布 部分服务器升级

流量治理 根据服务器性能

04 springboot官方文档架构

https://docs.spring.io/spring-boot/docs/current/reference/html/index.html

05 基础入门-springboot helloworld

一、环境要求

Maven  3.3及以上

Java 1.8及以上

二、基本步骤

1、创建一个maven项目

2、在pom文件中引入springboot依赖和web-starter

3、编写启动类 使用@SpringbootApplication注解标明该项目为springboot项目

4、编写controller

5、启动

6、可新建application.properties文件修改springboot默认配置值及各种属性

7、可引入打包jar插件,package打包后直接cmd执行jar (java -jar xxxxxx.jar)

8、直接访问即可

注意:如果命令不成功,可能是窗口编码和操作系统编码不一致导致

cmd 出现"The system cannot write to the specified device"

解决:chcp查看窗口编码 -- 65001 表示是UTF-8格式

但是操作系统的编码为 936 简体中文

即:直接在cmd窗口中,执行chcp 936 即可
(另外:cmd需要取消快速编辑模式)

springboot为我们的开发配置部署都做了很大的简化

06 依赖管理和自动配置特性 =======================================

一、依赖管理

1、父项目

父项目一般用来做依赖管理,子项目继承父项目则以后不需要再写版本号

其中properties属性几乎声明了所有开发中常用的依赖的版本号 —— 自动版本仲裁机制

(一般不需要我们自己写版本号,但是引入非版本仲裁的jar需要些版本号)

2、自定义修改版本号:

在pom文件中定义properties文件重写key

        5.1.43

3、starter

springboot的官方starter:spring-boot-starter-*

*代表场景,只要引入该场景starter,则自动引入该场景相关的所有starter

https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.build-systems.starters

可自定义stater(不要命名重复  *-spring-boot-starter 第三方场景启动器)

所有场景启动器最底层的依赖 ——  spring-boot-starter(最核心)

二、自动配置

1、自动配置tomcat

1)引入依赖 —— 依赖管理

2)配置tomcat

2、自动配置springmvc

characterEncodingFilter 解决中文乱码的字符编码拦截器

Dispatcherservlet

viewResolver 视图解析器

multipartResolver 文件上传的解析器

3、自动配置好默认包结构

不用自己配置包扫描

主程序所在包及其子包的所有组件都默认扫描到

若需要指定扫描包:@SpringBootApplication(scanBasePackages = "com.yoyo")或者拆分成三个注解@componentScan修改

4、各种配置拥有默认值

修改:application.properties

默认配置最终都是映射到某一个类上的(比如MultipartProperties),在容器中创建对象

5、按需加载所有自动配置项

引入哪个场景则这个场景的自动配置才开启

springboot的所有自动配置功能都在spring-boot-autoconfigure 包里面

07 底层注解——@Configuration详解

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号