读书笔记 -- Spring Boot3 核心技术 Chapter1 Spring Boot 基础入门
1.1 Spring Boot 概述
1. Spring 的两个核心: IoC 和 AOP,关于其详细介绍,参看 https://www.cnblogs.com/bruce-he/p/17503258.html
2. Spring Boot 提供了各种技术组件的一站式自动启动器(starter),下面是一个实例的 pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot3_demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
3. Spring Boot 的优点:
- 1)创建传统的 war 包;
- 2)创建独立的、不依赖任何外部 Servlet 容器的应用(内置 Servlet 容器),可用 java -jar 启动;
- 3)Spring Boot 3.0 添加了对 GraalVM 原生镜像的支持;
4. Spring Boot 的核心思想:约定大于配置,即:
- 1)约定并提供一些推荐的默认配置参数;
- 2)开发者定义约定以外的配置参数;
5. Spring Boot 的基本特性:
- 1)独立运行:框架内嵌了各种 Servlet 容器,包括 Tomcat、Jettey、Undertow,应用可以:a)打包成 war 包部署到 tomcat;b)打包成 jar,并通过 "java -jar xxx.jar"运行;
- 2)简化配置:提供了开箱即用的 "Starter" 一站式启动器即可简化依赖配置,另外,自动配置包中提供了各种技术的默认底层实现组件、默认的组件配置实例、默认的配置参数等;
- 3)自动配置:引入 "Starter" ,通过默认的或自定义的配置参数,即可快速集成并开箱使用;
- 4)无代码生成和无须 XML 配置文件:是通过 Spring & Spring Boot 中的各种条件注解完成的,Spring Boot 应用在运行时根据指定的条件、上下文环境参数等完成自动配置。并非是生成代码或 XML 配置文件;
- 5)各种生产级特性:提供了如 端点、指标、健康检查、应用监控等;
6. Spring Boot 的集成方式:
- 1)Maven / Gradle 插件 (如 1.1 第2点的 pom.xml);
- 2)Spring Boot CLI 命令工具;
1.3.4 构建、启动应用
// 该方式会在 项目下面生成一个 target 文件夹,里面包含编译过的 class 文件,并且项目已通过 tomcat 启动
// windows cd 项目路径下 mvn spring-boot:run // 这里就是 spring-boot,非项目名称,关于其解释,参看 https://blog.csdn.net/zzuhkp/article/details/123493071
1.4 使用 Maven
// 对比 1.3.4 的命令,该方式会在 项目下面生成一个 target 文件夹,里面包含编译过的 class 文件,还有 maven 的文件 (pom.properties) 及 打包后的 jar 包,并且项目已通过 tomcat 启动 // windows cd 项目路径下 ./mvnw clean install // 或者是"mvn clean install"
另外的一个构建工具是 Gradle,可用对应的 Groovy 脚本。关于 Maven 与 Gradle 的差异,可参看:https://zhuanlan.zhihu.com/p/21394120
1.5 Spring Boot CLI
获取 spring boot cli 指定版本,可以通过 修改链接的版本信息来下载:https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.4.3/spring-boot-cli-2.4.3-bin.zip
合集:
SprintBoot3核心技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2018-06-26 (转载)Tomcat 7通过设置不同的端口部署两个项目
2018-06-26 Tomcat 7通过设置不同的端口部署两个项目(实际项目)