【2021 软件创新实验室暑假集训】SpringBoot 框架
Java 后端开发
【2021软件创新实验室暑假集训】SpringMVC框架(设计原理、简单使用、源码探究)
web 端开发
移动端开发
人工智能
注:因为集训还没结束,没有统计所有人的博文,所以以上目录并不完整。理论上 20 级有 Java 篇 10 篇,应用篇 7 篇;19 级各赛道各四篇(每次上课都会有一篇博文作总结)
文章目录
=================================================================
本文为集训备课所写,主要讲解 SpringBoot 的一些特性和使用。
===================================================================
在 SpringBoot 出现之前,当我们创建一个 spring 项目,需要创建相应的配置文件,进行相应的配置。每当需要注入一个 bean 时,就要更新一个 bean 标签…这还不是最恐怖的,最恐怖的是我们每当要把某个框架加入到我们的项目中时,需要新的配置,而且还要仔细思考新引入的 jar 包版本是否会和现有框架版本冲突。当项目引入了很多技术框架时,那些配置绝对能让你头皮发麻。
这绝对是一种糟糕的体验!
上述情况产生的原因可以概括为以下两点:
复杂的配置
混乱的依赖管理
为了改善这种情况,Spring 官方推出了 SpringBoot 框架。
===============================================================================
我先摘一段官方的解释:
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need minimal Spring configuration.
翻译一下:
springboot 使得创建独立的、生产级的、基于 Spring 的应用程序变得很容易,您可以“直接运行”。
我们对 Spring 平台和第三方库有一个独到的看法,这样您就可以用最少的麻烦开始了。大多数 Spring 引导应用程序需要最少的 Spring 配置。
很多时候我们把 SpringBoot 称作脚手架
,因为他给我们提供了一些非常方便的功能。它的核心理念——约定大于配置。最能体现这点的便是 SpringBoot 提供了很多默认的配置,这让我们能非常轻松的搭建出自己的 spring 项目而不用被繁琐的配置阻挡脚。当我们的配置简化后,我们的精力也就放在业务开发和系统设计上。
================================================================================
很多时候我们只知道 SpringBoot 是一个脚手架
的角色,用了它能极大简化我们的开发。但是我们很多时候并不能准确说出它究竟干了什么,也很难像其他框架那样明确知道它的功能,比如我们很明确知道 mybatis 是一款支持复杂的 SQL 语句,存储过程及高级映射的持久层的框架。
这和它的功能有关,因为它的功能很多,很杂。
如果去看 SpringBoot 的官方文档可以发现它的功能特性很多。
而我们如果去搜相关的博文,大多也会从各个方面去介绍。
但是它的最主要的功能其实也就是那么几个,其他很多都是集成各个框架的延伸。
Spring 容器的运行一般都需要别的容器的支持,比如开发一个 web 应用,要是由第三方 web 容器。Springboot 中可以独立运行,一个 main 方法加载 Springboot 运行代码。
Springboot 为 web 工程提供了内嵌的 web 容器,默认使用 tomcat,并且按照习惯进行默认配置,例如端口号 8080 项目访问路径 /.结合第一个特点,web 工程就可以不用封装 war 包访问外部的 web 容器运行,直接使用 jar 包运行。
Springboot 能够实现它的独有的特点,是因为它在 spring 基础之上扩展了非常庞大的量的代码。导致要想使用 springboot 必须依赖大量的资源.这样极其不方便的。所以 Springboot 为开发者准备来的丰富环境的简化依赖。
例如:我们要开发一个 web 应用(spring-context,spring-webmvc,jackson,loggings 等等),在 Springboot 只要想开发一个 web 应用,只需要依赖一个 spring-boot-starter-web,实现依赖的传递。
Springboot 最核心的特点,就是自动配置。它为大多数开发场景准备对应的配置逻辑。在使用 Springboot 开发时,可以不考虑如何配置这些技术,环境,只需要按照 Springboot 提供的逻辑准备你的技术,环境。
例如:自动完成 web 容器的配置,简化了端口,程序访问根目录,静态资源访问,前后缀拼接等等配置内容,自动完成了 datasource 数据源配置,你一旦需要持久层数据源连接数据库,只需要提供对应属性就可以了。
====================================================================================
SpringBoot 项目的创建非常简单!
我这里自定义了一个阿里的 start 路径https://start.aliyun.com/,这样会快一点。
填写相应的信息,点击下一步。
评论