SpringBoot教程&笔记|Demo01-构建一个简单的Web应用程
使用Spring Boot构建应用程序
本指南提供了Spring Boot如何帮助您加速和促进应用程序开发的示例。当您阅读更多Spring入门指南时,您将看到更多用于Spring Boot的用例。它旨在让您快速了解Spring Boot。如果您想创建自己的基于Spring Boot的项目,请访问Spring Initializr,填写项目详细信息,选择您的选项,然后您可以下载Maven构建文件或捆绑项目作为zip文件。
SpringBoot在建立生产中的独立程序上非常简便、只需要一些简便的配置就能运行起来。
大致有如下特点:
- 创建独立的Spring applications
- 能够使用内嵌的Tomcat, Jetty or Undertow,不需要部署war
- 提供starter pom来简化maven配置
- 自动配置Spring
- 提供一些生产环境的特性,比如metrics, health checks and externalized configuration
- 绝对没有代码生成和XML配置要求
你需要什么
*大约15分钟
*最喜欢的文本编辑器或IDE
*JDK 1.8或更高版本
*Maven 3.2+
IDEA构建步骤
Open Idea->new Project->Spring Initializr->Group、Artifact、Name->Select web->Finish
填写对应信息就可以了
本示例使用了SpringBoot 2.1.0 RC1
和JAVA11
版本
目录结构说明
- pom文件为MAVEN配置文件
- resouces 资源文件
- static 静态资源
- templates 模板资源
- application.properties 配置文件
- Demo01Application 程序的入口
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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.heardfate.springboot</groupId>
<artifactId>demo01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo01</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RC1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>11</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>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
创建一个简单的Web应用程序
现在,您可以为简单的Web应用程序创建Web控制器。
src/main/java/com/heardfate/springboot/demo/controller/HelloController.java
package com.heardfate.springboot.demo.controller;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @since: 2018/10/18
* @author: Mr.HeardFate
*/
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
该类被标记为@RestController,这意味着Spring MVC可以使用它来处理Web请求。@RequestMapping映射’/’到index()方法。从浏览器调用或在命令行上使用curl时,该方法返回纯文本。这是因为@RestController组合@Controller和@ResponseBody两个注释会导致Web请求返回数据而不是视图。
Demo01Application.java
构建项目的时候系统自动创建的
package com.heardfate.springboot.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Demo01Application {
public static void main(String[] args) {
SpringApplication.run(Demo01Application.class, args);
}
}
@SpringBootApplication 是一个组合注释,添加了以下所有内容:
* @Configuration 是一个类级注释,指示对象是一个bean定义的源。
* @EnableAutoConfiguration 告诉Spring Boot开始根据类路径设置,其他bean和各种属性设置添加bean。
* 通常你会添加@EnableWebMvc一个Spring MVC应用程序,但Spring Boot会在类路径上看到spring-webmvc时自动添加它。这会将应用程序标记为Web应用程序并激活关键行为,例如设置DispatcherServlet。
* @ComponentScan告诉Spring在包中寻找其他组件,配置和服务hello,允许它找到控制器。
该main()方法使用Spring Boot的SpringApplication.run()方法来启动应用程序。您是否注意到没有一行XML,也没有web.xml文件?此Web应用程序是100%纯Java,您无需处理配置任何管道或基础结构。
运行该应用程序
Demo01Application 右击Run
查看是否运行成功
命令行下输入:$ curl localhost:8080
可以看到返回了Greetings from Spring Boot!