1-从一个SpringBoot的Demo入手
在研究源码之前我们还是本地启动一个示例代码,来通过这个示例代码的启动过程来进行源码的解析。
SpringBoot使得创建独立的、生产级的、基于Spring的应用程序变得很容易,创建的项目可以直接启动。
我们对Spring平台和第三方库有一个独到的看法,这样您就可以用最少的麻烦开始了。大多数Spring引导应用程序需要最少的Spring配置。
可以使用SpringBoot创建可以使用的Java-jar或更传统的WAR部署启动的独立Java应用程序。还提供了一个运行spring脚本的命令行工具。
Spring为所有开发提供一个非常快速和广泛可访问的入门体验。
提供一系列大型项目通用的非功能特性(例如嵌入式服务器、安全性、度量、运行状况检查、外部化配置)。完全没有代码生成,也不需要XML配置。
我们先来建一个maven项目,当然不想自己去创建项目可以使用Spring官网提供的项目初始化工具:
点击进入
进入网站后可以看到如下页面,填写上对应信息后,点击下面的Generate按钮生成项目:
拿到项目之后,可以先看下我们的pom.xml引入了哪些最基本的依赖:
父pom和一个核心的spring-boot-start依赖
<?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>2.6.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</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>
然后可以看下示例代码,在示例代码中我加入了一个
入门代码:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
好了有了以上的Demo,我们接下来就可以通过这个例子来深入探究下源码,后面的文章将一点点分析下spring-boot源码的启动过程。
技术咨询与支持,可以扫描微信公众号进行回复咨询
SprigBoot源码6, Spring6, SpringBoot6