SpringBoot简化了Spring应用的初始框架搭建和开发过程,利用SpringBoot框架可以快速的进行Spring应用的开发,SpringBoot具有以下特性:
- 能够快速创建基于Spring的应用程序。
- 提供了约定好的初始POM来简化Maven配置,让Maven配置变得更简单。
- 多数情况可以直接使用注解开发来替代xml配置。
- 自动配置Spring、SpringMVC等Maven依赖。
Hello World
一、创建一个空的SpringBoot工程
1、在IDEA中创建一个空的project,便于管理项目中的各个Module: File > New > Project... > Empty Project
。
2、创建基于SpringBoot框架的Module: New > Module > Spring Initializr
,Module信息示例:
- Group:包路径,如com.yun.demo。
- Artifact:Module名称,如demo-001-helloworld。
- Package:IDEA会根据填写的Artifact名称(即Module名称)自动生成一级目录,我们一般会把最后一级的包名删掉。
- 其他:直接默认就好。
然后依次选择 Web > Spring Web
, Spring Boot
的版本一般默认就好,但是也可以根据自身需要选择一个稳定的版本,最后一步时,注意新建Module的目录 Content root
可能需要自己手动修改一下,它默认是你新建Module时鼠标选中的目录。最后点击finish之后,一个简单的SpringBoot框架就创建好了,它的程序入口就在src目录下自动创建好的 xxxApplication
类中。新创建Module目录如下(controller包是我自己手动创建的):
二、编写SpringMVC程序输出Hello World
使用SpringBoot创建一个SpringMVC应用程序非常之简单,创建Module的时候,它就已经自动配置好了SpringMVC的所有基础POM依赖,也自动集成了Tomcat,我们只需要编写一个controller类即可。不过需要注意的是,我们创建的所有包和文件都必须在启动类 xxxApplication
同级或以下目录。例如在上图的controller包中创建一个HelloController类,编码如下,然后直接运行xxxApplication类的main方法,在浏览器中输入http://localhost:8080/hello即可。
package com.yun.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
// 使用@Controller表名这是一个控制类
@Controller
public class HelloController {
// 指定请求路径
@RequestMapping(value="/hello")
// 将返回内容包装为响应体
@ResponseBody
public String hello() {
return "Hello world!";
}
}
三、默认POM配置
创建SpringBoot框架Module时会自动配置对应的POM依赖,默认配置如下:
<?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>
<!-- SpringBoot默认的父工程,也是基于Maven的,里面包含了许多SpringBoot基础的依赖包,
所以我们才可以直接使用一些Spring注解等基础功能,而不用自己手动配置 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 定义自己项目的GAV坐标,也可以不用写在<parent>下 -->
<groupId>com.yun.demo</groupId>
<artifactId>demo-001-helloworld</artifactId>
<version>1.0.0</version>
<!-- 项目名称和描述 -->
<name>demo-001-helloworld</name>
<description>Demo project for Spring Boot</description>
<!-- 项目使用的Java版本 -->
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<!-- SpringBoot框架的起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringBoot测试框架的起步依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- SpringBoot项目的打包编译插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
标签:SpringBoot,Spring,boot,Module,springframework,org,World,Hello
From: https://www.cnblogs.com/guyuyun/p/16846450.html