SpringBoot 基础理论


 

springboot的优点

相关问题

  • springboot有哪些优点?
  • 你们项目为什么要使用springboot?
  • springboot有什么特点?
     

springboot的优点

  • 提供起步依赖,无需处理复杂依赖的关系
  • 提供大量的自动配置,无需编写大量的配置文件、配置类
  • 提供内置的web容器,部署方便
  • 提供了监控端点actuator,便于监控应用的运行状态
  • 提供了众多特性,功能丰富,比如提供了SpringApplication 方便启动spring应用,Externalized Configuration 外部化配置,Profiles 区分环境,Validation 校验请求参数,Sending Email 发送邮件等等。

总而言之,开箱即用,极大的简化了项目的开发、部署、监控

 

springboot的特性

springboot特性十分丰富,官方文档上列出的全部特性

https://docs.spring.io/spring-boot/docs/2.5.5/reference/html/features.html#features
 

springboot常见的特性如下

  • SpringApplication 方便启动spring应用
  • Externalized Configuration 外部化配置
  • Profiles 用于区分环境
  • Developing Web Applications 支持web应用
  • Graceful shutdown 优雅停机
  • Security 支持多种安全管理框架
  • Working with SQL Databases 支持多种关系数据库
  • Working with NoSQL Technologies 支持多种非关系型数据库
  • Caching 支持多种缓存,包括本地缓存、分布式缓存
  • Calling REST Services with RestTemplate 支持restful风格的服务调用
  • Validation 用于校验请求参数
  • Sending Email 发送邮件
  • Quartz Scheduler 支持Quartz
  • Spring Session 支持Spring Session
  • Monitoring and Management over JMX 支持jmx
  • Testing 提供对测试的支持
  • WebSockets 支持WebSocket
  • Kotlin support 支持Kotlin

说明:springboot提供了很多功能,比如 Actuator 监控端点、Validation 参数校验 、Sending Email 发送邮件,springboot官方提供了对应的依赖,需要在pom.xml中引入对应的依赖才能使用。

 

spring、springmvc、springboot、springcloud的联系与区别

相关问题

  • spring、springboot有什么区别?
  • spring、springmvc、springboot有什么区别?
  • 什么是springboot?
     

spring是spring家族的基石、核心,在spring的基础上衍生出了一系列配套的框架,比如springmvc、spring security,spring data、springboot、springcloud等。

springmvc是一个mvc框架,在spring的基础上提供了对web开发的支持。

传统的spring项目需要处理复杂的依赖关系,编写很多配置文件、配置类,springboot是对spring的封装,在spring的基础上提供了起步依赖、自动配置,开箱即用,开发者无需处理复杂的依赖关系、编写大量的配置,极大地简化了开发。

springcloud是spring提供的一套完整的微服务解决方案,在springboot的基础上整合了eureka、feign、hystrix等组件,功能完善。

 

springboot 1.x和2.x的区别

相关问题

  • springboot 2.x有哪些新特性?
  • springboot 2.x和1.X有什么区别?
     

springboot 2.x 相比于 1.x,主要

  • 变更了一些配置项
  • 升级了支持的jdk版本、依赖的第三方类库
  • 增加了对响应式编程的支持(spring webflux)
  • 增加了对 http 2.0 的支持

 

starter

相关问题

  • springboot中的starter到底是什么 ?
  • 如何理解springboot中的starter?
  • spring-boot-starter-parent有什么作用?
     

springboot中的starter和docker中的镜像很相似,都是打包好所需依赖、提供所需配置,拿来就可以直接使用,开箱即用。

springboot中的starter打包好了所需的依赖,并提供了对应的自动配置,开发引入starter依赖之后可直接使用,无需处理复杂的依赖关系、编写大量的配置类,极大简化了spring应用的开发。

 

spring-boot-starter-parent 是springboot的根starter,springboot项目是在这个starter的基础上构建的,springboot项目都会引入这个starter。

spring-boot-starter-parent 主要用于提供编译、打包的通用配置,比如指定编译要使用的jdk版本、字符集,打包时的资源配置,此外还集成编译、打包的常用插件。

 

@SpringBootApplication

相关问题:Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
 

springboot的核心注解是 @SpringBootApplication,主要由3个注解组成

  • @SpringBootConfiguration:标识为springboot的配置类。这个注解包含了 @Configuration,具有 @Configuration 的作用。
  • @EnableAutoConfiguration:开启自动配置,可以用 exclude 排除不需要的自动配置类。
  • @ComponentScan:开启组件扫描,扫描应用中配置的bean,默认值扫描同级目录下的包、类,可以手动指定要扫描包、类。

 

部署方式

相关问题

  • springboot有哪些部署方式?
  • 运行springboot项目有哪几种方式?
  • springboot打成的jar包和普通jar包有什么区别 ?
     

部署springboot应用的方式

  • 打成jar包,java -jar直接启动,使用的是内置的web容器
  • 打成war包,使用外置web容器启动
  • 也可以使用docker之类的容器进行部署
     

springboot打成的jar包和普通jar包有什么区别 ?

spring boot打成的jar包含了所需的全部依赖、主类,是可执行的jar包,内置了web容器,可以直接作为web应用启动。

当然,springboot也可以打成普通的jar包,作为依赖引入。

 

应用监控

相关问题

  • 如何监控springboot应用的状态?
  • 如何监控微服务的运行状态?
  • 你们是怎么监控应用的?
     

springboot提供了actuator来监控应用的运行状态,但actuator没有图形化界面,不够直观,通常使用更上层的监控组件,比如springboot admin、SkyWalking。

 

环境区分

相关问题:

  • springboot如何区分环境?
  • springboot如何区分不同环境的配置?
     

使用 profiles 来区分不同环境的配置,将开发、测试、生产的配置写在不同的配置文件中,在application.yml中用 spring.profiles.active 指定要使用环境。

 

定时任务

相关问题

  • springboot中如何实现定时任务?
  • 你们是怎么实现定时任务的?
     

spring本身提供了定时任务,spring自然也包含了,可以使用自带的 @Scheduled 实现简单的定时任务,复杂的定时任务可以用 quartz 实现,如果是分布式的定时任务或者需要web管理界面,可以使用 elastic-job 或 xxl-job。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值