一文带你看懂Springboot核心功能及优缺点

news/2024/7/1 2:52:40

点击上方[视学算法]右上角[...][设为星标⭐]

SpringBoot核心功能

1、独立运行Spring项目

Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。

2、内嵌servlet容器

Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目。

3、提供starter简化Maven配置

spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入依赖包。

4、自动装配Spring

SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置。

5、准生产的应用监控

SpringBoot提供基于http ssh telnet对运行时的项目进行监控。

6、无代码生产和xml配置  

SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性。

SpringBoot优缺点

优点:

  • 快速构建项目。

  • 对主流开发框架的无配置集成。

  • 项目可独立运行,无须外部依赖Servlet容器。
    -提供运行时的应用监控。

  • 极大的提高了开发、部署效率。

  • 与云计算的天然集成。

缺点:

  • 如果你不认同spring框架,也许这就是缺点。

SpringBoot特性

  • 创建独立的Spring项目

  • 内置Tomcat和Jetty容器

  • 提供一个starter POMs来简化Maven配置

  • 提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等

  • 完全没有代码生成和xml配置文件

SpringBoot CLI

SpringBoot CLI 是SpringBoot提供的控制台命令工具。

SpringBoot maven 构建项目

spring-boot-starter-parent:是一个特殊Start,它用来提供相关的Maven依赖项,使用它之后,常用的包依赖可以省去version标签。

SpringBoot几个常用的注解

(1)@RestController和@Controller指定一个类,作为控制器的注解 ,并说明其区别

(2)@RequestMapping方法级别的映射注解,这一个用过Spring MVC的小伙伴相信都很熟悉 

(3)@EnableAutoConfiguration和@SpringBootApplication是类级别的注解,根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器

(4)@Configuration类级别的注解,一般这个注解,我们用来标识main方法所在的类,完成元数据bean的初始化。

(5)@ComponentScan类级别的注解,自动扫描加载所有的Spring组件包括Bean注入,一般用在main方法所在的类上 

(6)@ImportResource类级别注解,当我们必须使用一个xml的配置时,使用@ImportResource和@Configuration来标识这个文件资源的类。 

(7)@Autowired注解,一般结合@ComponentScan注解,来自动注入一个Service或Dao级别的Bean

(8)@Component类级别注解,用来标识一个组件,比如我自定了一个filter,则需要此注解标识之后,Spring Boot才会正确识别。

springboot是如何管理事务的?直接写@transactional注解就行,在方法就是方法事务,类上就是类事务。

作者:lizmit

https://blog.csdn.net/qq_35216516

- END -
如果看到这里,说明你喜欢这篇文章,请转发、点赞。扫描下方二维码或者微信搜索「perfect_iscas」,添加好友后即可获得10套程序员全栈课程+1000套PPT和简历模板向我私聊「进群」二字即可进入高质量交流群。
扫描二维码进群↓

在看 


http://lihuaxi.xjx100.cn/news/285933.html

相关文章

最小费用最大流 ---- 2017icpc青岛现场赛 K Our Journey of Xian Ends (拆点控制原图点度 + 中间必经过的点设置成源点 + 起点设成汇点)

题目链接 题目大意: 题目贼恶心难读 就是你出发地是"Xian"西安,现在你要出发到上海然后再去青岛,然后回到上海 飞机场限制:就是每个机场只能降落和起飞一次 上海的限制:上海有两个机场,叫虹桥…

koa-grace:一个基于koa的node多应用MVC框架

春节期间没回家留在北京写了一个基于koa的node MVC框架:koa-grace ,大家有兴趣可以star & fork下,谢谢支持啦!! 项目地址: https://github.com/xiongwilee/koa-grace 详细文档: 1. 简介 koa…

07-图6 旅游规划 (25分)(以此感谢zyx佬)

这个题的话算是模板题改编了一点吧,不过个人感觉这个改编很有助于你理解迪杰斯特拉这个算法的真谛。 题解:新开一个cost数组来记录花费,仍然是用了优先队列优化的一个思想,与模板题不同的是只需要加一句话(感谢zyx佬发…

百度Apollo 3.5是如何设计Cyber RT计算框架的?

自百度Apollo自动驾驶平台开源以来,已快速迭代至 3.5 版本,代码行数超过 39 万行,合作伙伴超过 130 家,吸引了来自 97 个国家的超 15000 名开发者。无疑,Apollo 是目前世界范围内最活跃的自动驾驶开放平台之一。最新发…

有没有必要把机器学习算法自己实现一遍?

编辑:机器学习算法与自然语言处理-忆臻,Charlotte数据挖掘-小杜https://www.zhihu.com/question/36768514作者:微调https://www.zhihu.com/question/36768514/answer/376510114不少自学的朋友很容易陷入到焦虑当中,尤其是在学习理…

Chapter 3、Java语法基础(二)----Java基本数据类型、变量与常量 (20th,Feb)

基本数据类型 1、整数类型 整数类型用来储存整数数值,即没有小数部分的数值,可以使正数、负数,也可以是零。根据所占内存的大小不同,分为byte、short、int、long 4种类型。 Byte型 整型中所分配内存空间最少的,只分配1…

后缀数组 + Hash + 二分 or Hash + 二分 + 双指针 求 LCP ---- 2017icpc 青岛 J Suffix (假题!!)

题目链接 题目大意: 就是给你n个串每个串取一个后缀,要求把串拼起来要求字典序最小!! sum_length_of_n≤5e5sum\_length\_of\_n\leq 5e5sum_length_of_n≤5e5 MY Slove : 首先我们知道对于最后一个串肯定是取最小后缀的 那么我们可以把最后…

第2关:实现一个链接存储的栈

#if !defined(LINKED_STACK_H_985552) #define LINKED_STACK_H_985552 typedef int T; //数据元素类型 struct LNode {T data;LNode* next; };struct LinkStack {LNode* top; // 栈顶指针int len; // 栈的长度 };LinkStack* LS_Create(); void LS_Free(LinkStack* ls); void LS…