目录
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。