Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

时间:2021-08-30 23:54:46

声明

本系列文章系本人原创,欢迎转载,转载请注明出处。

本系列文章通过具体的例子,介绍如何通过Spring Boot来帮助简化Spring MVC开发Web Application的过程,旨在通过具体的实践,使读者能够入门利用Spring Boot开发Web Application。

对于文章中贴出的代码,本人均在本地测试过,如果大家对代码有疑问,欢迎在评论区指出。如果大家发现了文章中描述不对的地方,也欢迎指出,以便大家共同进步。


一、Spring Boot背景

既然是Spring Boot入门,先大概介绍下Spring Boot吧。对于背景不感兴趣的读者可以直接跳到下一节。

先从Spring讲起。很多做过JAVA项目的人估计都知道,项目中存在着很多很复杂的依赖关系,如果对这些依赖关系不加以管理的话,随着Bug的修复,新需求的加入,以及项目的发展,项目会变得越来越维护,尤其是有新同事来负责维护项目的话,新同事很难快速的理解项目的结构以及其中的依赖关系。于是Spring便应运而生,Spring框架可以理解为是一套良好的代码框架与设计模式的集合,通过使用Spring框架,项目内部的依赖关系可以与项目代码解耦,并保存在配置文件(组)中,这使得代码变得简单明了,依赖关系也变得简单明了并易于配置,从而大大降低了项目的维护难度。

那么Spring Boot又是做什么的呢?Spring框架固然有其好处,但是随着项目规模的扩大,配置文件(组)会变得相当庞大,项目中新增或者修改一个功能时,几乎都要从这么庞大的配置文件(组)中去建立或修改相应的配置,这其中的工作量是可想而知的,并且,配置文件(组)的维护此时也变得复杂了。于是Spring Boot便应运而生了。Spring Boot可以看作是利用了与程序员之间的一些“约定”,即当程序员遵循这些约定的时候,Spring Boot便会给出基于这些“约定”的默认的配置,从而减少了程序员在维护配置文件(组)上的工作量。这也是最近很流行的“约定优于配置”(Convention Over Configuration) 思想的体现。


二、工具与环境的搭建

接下来我们将通过Spring Boot建立一个Web Application,并通过浏览器查看运行结果。

  1. 工具
    本系列文章的项目代码是在Spring Tool Suite上开发的。Spring Tool Suite是一个基于Eclipse的针对Spring开发做了特殊定制的开发环境。读者可以根据个人喜好选择使用Spring Tool Suite或是Eclipse,或者读者喜好的其他开发方式。

  2. 环境的搭建
    以Spring Tool Suite为例(Eclipse类似)

    1. 新建一个Maven Project
      Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

    2. 一直点“Next”直到输入项目相关信息
      Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

    3. 双击项目中的”pom.xml”,在编辑区中点”Dependencies”选项卡,然后点“Add”按钮添加Dependency: spring-boot-starter-web
      Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

    4. 同样的方法添加Dependency: spring-boot-starter-thymeleaf
      Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

    5. 新建Java类:HelloWorldController和Application;
      新建目录:src/main/resources/templates,并在其下新建helloWorld.html

src/main/java/com.example.springboot_demo.HelloWorldController.java :

package com.example.springboot_demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloWorldController {

@RequestMapping("/")
public String helloWorld(){
return "helloWorld";
}
}

src/main/java/com.example.springboot_demo.Application.java :

package com.example.springboot_demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}

src/main/resources/templates/helloWorld.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Welcome.</title>
</head>
<body>
<p>Hello World! This is your first Spring Boot Web Page!</p>
</body>
</html>

三、运行

右击项目,选择”Run As”->”Spring Boot App”

Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

如果弹出提示选择含有main方法的类,则选择我们刚才新建的Application.class, 等控制台停止输出并且没有错误时,打开浏览器,输入localhost:8080后回车,看到如下页面则证明Spring Boot Application已经正常运行。

Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

四、总结

可以看到,通过Spring Boot,我们不需要做太多的配置,只要遵守“约定”,我们便可以只将开发的重点放在代码和具体的业务逻辑上,而Spring Boot便会根据“约定”来设置默认的配置,比如上例中Spring Boot自己从src/main/resources/templates中去找我们需要的html文件等。

看到这里,有些读者可能会对上例中的一些代码、注解(Annotation)或者代码背后Spring帮我们处理的逻辑有些疑问。本系列文章将会在后续的章节中通过具体的例子,陆续地对这些内容做介绍。