Spring Boot 基础概述与相关约定配置
今天打算整理一下 Spring Boot 的基础篇,这系列的文章是我业余时间来写的,起源于之前对微服务比较感兴趣,微服务的范畴比较广包括服务治理、负载均衡、断路器、配置中心、API网关等,还需要结合 docker,K8s 等一套新的容器技术。后面就了解 Spring Boot 与 Spring Cloud ,主要是因为相对其他技术平台生态与成熟性都比较完善,站在巨人的肩膀上嘛; 文章都是想到哪个主题写哪一篇,并没有什么顺序,这几天我在构思我一直在构思基础篇怎么去写,基本概述性质性的文章,Google 一下 N 篇,这里我想简述一些演变的过程与一些实用性比较适用的知识点来讲好了。学习新技术最快方式就是先阅读下官方的文档然后参考 Github 上的例子,后面就是善用 Google 搜索问题、Github 检索示例、StackOverflow 查找答案。
docs: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
github: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples
演变过程概述
Spring 作为当前主流 JavaEE 全功能栈应用程序企业开发框架,旗下提供了一套完整的生态 相关项目 ,其中 Spring Framework 作为最重要的项目之一 (Spring Boot 的依赖项,简称 Spring)包含结构如下:
从最基础的 IOC 与 AOP,到整合 Servlet 的简化 Web 开发,到后面 JDBC 与 ORM ,JMS 等等,我们统称 Spring 中的 Web 为 SpringMVC;之前开发一个 Web 项目可能配置一堆繁琐的 XML 配置与包含如下相关 Jar 包:
Spring Boot 依赖于 Spring Framework,目前为止已经非常成熟了,是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,它就是把 SpringMVC 繁琐的配置进行了封装和组合,并不是对 Spring 技术栈的重构,遵循约定大于配置的原则,很多情况你不需要任何配置,就可以把一个 Web 容器运行起来,如果之前熟悉 SpringMVC 基本看看官方的文档与例子就可以快速上手了。
项目组成结构
最简单的方式就是使用 IDEA 向导快速创建一个基于 Maven(或Gradle) 的空项目,创建好目录结构大致如下:
未完成
项目目录与约定配置
Web 容器的选择
数据库连接池的选择
模板引擎的选择