SpringBoot 基础篇(第一篇)

第1章 SpringBoot 入门


文章目录

  • SpringBoot
  • SpringBoot 基础篇(第一篇)
  • 第1章 SpringBoot 入门
  • 1.1 SpringBoot 简介
  • 1.1.1 SpringBoot 的概念
  • 1.1.2 SpringBoot 的特征
  • 1.1.3 Spring 的劣势


1.1 SpringBoot 简介
1.1.1 SpringBoot 的概念

SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短
了项目周期。

Spring 官网对SpringBoot 的介绍:

https://spring.io/projects/spring-boot

postgresql整个springboot post springboot_XML

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.

→ Spring Boot可以轻松创建独立的、生产级的基于Spring的应用程序,您可以“直接运行”。

开发人员希望把自己的精力更多地用在写业务逻辑上,写完业务逻辑就让应用跑起来,而不是还要大量的繁琐配置。

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.

我们对Spring平台和第三方库有自己的看法,因此您可以轻松入门。

大多数Spring Boot应用程序需要最少的Spring配置。

Spring Boot提供了一种Opinionated 观点,来对待Spring和第三方库,让上面的搭建过程最小化。绝大多数Spring Boot 应用都只需要极简的配置就可以了。

Opinionated ,有态度有观点,固执的。其含义就是,在搭建应用的过程中,
Spring Boot你最好这样做才和我的思路一致,才能让你减少更多的配置,他采取的是一种“约定由于配置的思想”从而减少不要的配置,做到极简配置。

1.1.2 SpringBoot 的特征

postgresql整个springboot post springboot_java_02

  • 创建独立的Spring 应用程序
  • 独立的含义是能够独立分发、独立部署、独立运行。因为最终编译后的结果、第三方Jar和容器都打包成一个可执行的jar,使用java -jar就可以运行了。
  • 以前的传统方式是编译成一个WAR包,然后放到Tomcat等容器里,通过启动容器才能运行。
  • 提供自以为是的“入门”依赖项以简化您的构建配置
    提供很多starter 依赖,提供很多常用组件的默认配置,简化你的配直。1例如,T发Web应用,就用spring-boot-starter-web,数据持久化就用spring-boot-starter-data-xXX。
  • 尽可能自动配置Spring 和 第三方库。
  • 完全无需代码生成,无需XML 配置
  • 提供production-ready (生产就绪)功能,例如指标、健康检查和外部化配置。production-ready指应用在编码完成后,能否直接上到生产上去?还需要做哪些工作才可以发布到生产,即生产就绪

postgresql整个springboot post springboot_XML_03

1.1.3 Spring 的劣势

Spring :为解决企业应用程序开发的复杂性而创建的框架。

但使用Spring 开发应用显得烦琐,因为它使用了大量的XML配置文件,配置烦琐,整合不易,开发和部署效率低下。

  • 配置繁琐
  • Spring的配置是重量级的。开始Spring用XML配置,而且是很多XML配置。Spring2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。
  • 所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。
  • 依赖繁琐
    项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发。