SpringBoot采用了约定大于配置的思想来使得搭建一个Spring应用变得极其简单,本文主要介绍基本的SpringBoot 搭建MVC采用的依赖简介。

这里采用maven项目搭建,不采用springboot自带的搭建插件,一方面是为了更加清晰的介绍基本的SpringBoot 搭建MVC采用的依赖,还有一方面就是社区版的ideal没有spring应用搭建插件(穷,哎)

首先创建一个空的maven项目(eclipse或者ideal均可),添加如下依赖:
下面展示一些 内联代码片

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <!--指定查找该父项目pom.xml的(相对)路径,这里设定一个空值将始终从仓库中获取,不从本地路径获取-->
        <relativePath/>
    </parent>

这里采用SpringBoot2.1.1版本作为父项目搭建,为什么要采用父项目为基础搭建,因为这样可以方便我们管理应用需要的其他依赖的版本,maven会自动根据父项目中springboot的版本号来选择合适版本的依赖,避免版本不一致的冲突。

添加完父项目约束后,为了避免中文乱码以及jdk版本问题,这里再添加一些对于jdk版本以及项目字符集编码的约束,如下所示:

<properties>
        <!--使用maven编译时,采用jdk1.8版本-->
        <maven.compiler.source>8</maven.compiler.source>
        <!--使用maven打包时,采用jdk1.8版本-->
        <maven.compiler.target>8</maven.compiler.target>
        <!--指定项目jdk版本1.8-->
        <java.version>1.8</java.version>

        <!--指定项目拷贝时的字符编码,及项目整体代码的字符为utf-8-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!--指定maven的一些插件输出文件时的字符编码-->
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!--指定maven编译时的字符-->
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
因为我们要搭建SpringBoot的Web应用,所以这里还需要springboot的web启动器,如下所示:
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

为了方便使用maven启动和打包、编译项目,这里还需要添加springboot的maven插件依赖:

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

到这里,一个最简单的Springboot的web项目依赖就准备好了,接下来编写应用的启动类:

package com.zzm;

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

@SpringBootApplication
public class ZzmSpringBootLearn001 {

	public static void main(String[] args) {
		SpringApplication.run(ZzmSpringBootLearn001.class, args);
		System.out.println(".........ZzmSpringBootLearn001启动成功.........");
	}

}

Springboot的默认启动端口是8080,由于有时候8080端口被用作他用,这里我们手动指定自己的端口让其运行:
首先在src/main/resources目录下面创建application.properties配置文件(这里也可以使用yml文件哈),用以下配置来指定我们自己的端口:
server.port=6969

然后像运行普通的Java程序一样,运行ZzmSpringBootLearn001 类的main方法,即可看到如下日志:

springboot 添加离线jar springboot离线搭建_maven


由此可见我们的最简单的SpringBoot的web项目就搭建成功了。

看到这里,有人会问了,web项目连个页面都没有??是的,作为一个web项目,怎么能没有页面呢,这里我们以经典的JSP技术来逐步深入:
链接: JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

SpringBoot默认是没有依赖JSP的,所以这里我们需要添加JSP的依赖,添加以下依赖到pom文件中:

<!--添加JSP模板依赖-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--引入该dependency的pom中定义的所有dependency定义-->
            <scope>provided</scope>
        </dependency>

        <!--添加JSTL依赖-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <scope>provided</scope>
        </dependency>

注意:只添加依赖是不够的,还需要下面的几个步骤:
配置文件中添加JSP视图的位置,使得SpringBoot可以找到正确的视图:

# 指定jsp视图的前缀
spring.mvc.view.prefix=/jsp/
# 指定jsp视图的后缀
spring.mvc.view.suffix=.jsp

这样,spring boot就会在src/main/webapp/jsp/(如果项目中没有该路径,需要手动创建,且webapp名称不能变)路径下寻找后缀为.jsp的视图文件。

下面我们在src/main/webapp/jsp/下面创建index.jsp视图文件,内容如下(看习惯了Hello World,换个口味):

<%@ 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> 
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>JSP模板</title>
    </head>
    <body>
        <hl>Hello JSP</hl>
        <hl>JSP模板</hl>
    </body>
</html>

同时在src/main/webapp/jsp/mytest下面再创建myTest.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> 
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>JSP模板</title>
    </head>
    <body>
        <hl>My Jsp</hl>
    </body>
</html>

最后,我们来编写controller,让其指定跳转到这两个视图中:

package com.zzm.controller;

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

@Controller
public class IndexController {
	
	@RequestMapping("/index")
	public String index() {
		return "index";
	}
	
	@GetMapping("myTest")
	public String myTest() {
		return "mytest/myTest";
	}

}

接下来,启动项目,浏览器访问controller下的路径,如下所示:

springboot 添加离线jar springboot离线搭建_maven_02


springboot 添加离线jar springboot离线搭建_java_03


好了,到这里就结束了,赶紧去亲自试试吧,源代码已经打包上传啦