2、Spring Boot 2.x创建第一个项目

这篇文章我们使用Spring Boot 2.x快速搭建一个Hello World项目,并且运行起来。

一、 开发环境

Java 1.8+

Maven 3.3.9+

Intellij Idea 2017.2.5

关于在Intellij Idea中配置JDK、Maven的方法,请读者自行百度。这里不再赘述。

本系列文章用到的开发环境相同,后续文章不再进行说明。

二、创建项目

1、使用Intellij Idea引导创建项目

项目名称:aicode-bgms (Background Manage System)

在Intellij Idea中依次进行如下操作:点击File—〉New——〉Project进入如下页面:

这里选择左侧的“Spring Initializr”,然后点击“Next”

这里我们输入Group和Artifact,其他基本默认即可。注册Package路径的修改。然后点击“Next”;

这里我们先只选择Web依赖,其他依赖在后续文章中会根据需要再进行添加。点击“Next”;

这里选择项目所在的路径,根据自己需要进行选择,然后点击“Finish”按钮;

此时,可能会弹出这个对话框,如果你进行了勾选Remember,don't ask again则以后创建项目则不会再进行提示。这里可以根据自己的需要自行勾选与否,并且据已所好选择This Window 或者 New Window。

如,我这里不进行勾选,点击"New Window"。然后新打开一个Idea窗口,进入项目的开发环境。

把目录都打开后,可以看到如上图所示的目录结构,这里就是Spring Boot为我们创建的默认的目录结构。

我们打开pom.xml文件,可以看到,有如下的parent。Spring Boot 默认要继承parent的pom;

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.1.0.RELEASE</version>
	<relativePath/> <!-- lookup parent from repository -->
</parent>

spring-boot-starter-parent的作用::

  1)jar包的版本管理;

  2)配置文件的过滤;

  3)常用插件管理。

继承了parent的pom后,我们就可以依赖SpringBoot提供的各种starter,这种方式对于小型项目或者以学习为目的使用还是比较方便的。但是对于很多生产环境的项目,我们一般都自定义自己项目的parent工程。Maven不允许有多个parent标签,这种情况我们需要采用下面一种方式。不使用parent标签,使用maven的dependencyManagement标签,来统一对依赖进行管理。可以使用如下代码:

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-dependencies</artifactId>
			<version>2.1.0.RELEASE</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

这里我们为了快速体验Spring Boot就采用默认方式了,继续Spring Boot为我们生成的代码,在依赖中我们看到,添加了如下两个依赖项:

<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>

还有下面一个插件

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

这个插件能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。

2、在https://start.spring.io/创建项目

如上图所示,输入Group和Artifact的内容,在Dependencies中输入Web,然后点击下面的Generate Project,即可生成项目。

我们把生成的项目引入Idea或其他IDE中即可。

三、项目中使用jsp

我们打开项目中的AicodeBgmsApplication.java文件,看到这里有一个main函数,右键,然后点击 Run 'AicodeBgmsApplication' ,然后可以看到项目正常启动;

在启动日志中,看到下面这一行

Tomcat started on port(s): 8080 (http) with context path ''

说明Spring Boot已经在8080端口为我们启动了Tomcat。

但如果此时,我们在浏览器中输入http://localhost:8080/进行访问,却发现报错了。

因为我们还没有引入Spring Boot对JSP的相关支持,并且项目中没有任何页面可以访问,所以跳转到的默认的/error页面。

下面我们加入相关配置

1、配置文件添加配置信息

在项目中默认生成的application.properties中添加如下内容

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
  • spring.mvc.view.prefix 指明 jsp 文件在 src/main/webapp 下的哪个目录
  • spring.mvc.view.suffix 指明 jsp 以什么样的后缀结尾

2、引入相关的依赖包

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>jstl</artifactId>
</dependency>
<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
	<artifactId>tomcat-embed-jasper</artifactId>
</dependency>

spring-boot-starter-web 包依赖了 spring-boot-starter-tomcat 不需要再单独配置。引入 jstl 和内嵌的 tomcat,jstl 是一个 JSP 标签集合,它封装了 JSP 应用的通用核心功能。tomcat-embed-jasper 主要用来支持 JSP 的解析和运行。

3、添加jsp目录

如图所示,依次创建目录,webapp、WEB-INF、jsp,这里的目录名称一定要与配置文件中的一致,然后创建测试使用的test.jsp文件,内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">

<body>
    <br>
    来自JAVA的回复: ${message},我来了
</body>
</html>

然后创建后端服务程序,在com.aicode.bgms目录下创建controller目录,然后创建HelloController.java类文件,如下图:

然后编辑类HelloController.java中的代码,代码如下:

package com.aicode.bgms.controller;

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

@Controller
public class HelloController {

    @RequestMapping("/test")
    public String hello(ModelMap model){
        model.put("message", "Hello Spring Boot 2.x");
        return "test";
    }

}

此时我们再运行程序,Run 'AicodeBgmsApplication',项目正常启动后,我们再打开浏览器,输入 http://localhost:8080/hello,可以看到如下页面

项目启动运行正常。

第一个Hello World的Spring Boot 2.x项目完成了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值