转载请声明出处!

利用Springboot创建MVC Web项目

Spring Boot是一个非常棒的运用程序开拓框架。
大多数人可能会利用这个框架来创建基于Web的运用程序 - MVC运用程序或基于RESTFul API的运用程序。
这些运用程序可以支配到Docker容器中,成为微做事。

本教程将向同学们展示利用Spring Boot创建基于Web运用程序的过程。
它是一个独立的Java运用程序。
内置一个嵌入式Tomcat做事器。
可以处理Web页面的各种要求。
对付新手来说,每个新起项目,最困难的部分便是项目环境配置部分。
但跟随本教程,你将创造利用Spring Boot创建web项目与利用Spring v3 / v4 MVC创建运用程序比较,切实其实要大略得不要不要的。

jsp中用mvc课设微办事架构系列Springboot创立MVC Web项目入门 CSS

项目构造

在开始之前,先展示项目的目录和文件构造:

两个Java文件。
一个是程序入口类。
另一个是MVC掌握器。

一个properties属性文件,里面是一些项目配置值。

三个静态文件,可在要求时直接供应给用户。

一个JSP文件,用作MVC运用程序的视图模板。

如果我们利用springmvc的旧方法来配置web项目,则须要在项目web.xml里配置spring容器和spring mvc容器,这至少须要两个pring xml配置文件。
而在这里,统统都利用Java注释来进行配置。

POM XML文件

让我们从POM XML文件开始。
POM XML文件用于Maven构建。
它指定了如何编译和打包项目。
以下是此文件的内容:

这个POM文件有几个主要的事情。
第一个是指定maven构建将创建WAR存档的行:

第二个是POM文件具有父POM依赖性。
这许可下载许多Spring和非Spring依赖项并将其链接到此项目中:

三个是将Java编译设置为利用JDK 1.8的属性定义:

末了一个是利用Spring Boot maven插件进行编译和打包:

依赖项部分定义了此运用程序所需的额外依赖项。
我须要的是Spring MVC,并作为J2EE Web运用程序运行。
添加的依赖项用于编译JSP视图和运行嵌入式运用程序做事器。

主程序入口

接下来,开始我们程序编码。
spring boot项目,程序都有必须有一个入口主类,以下是主类的完全源代码

该App类从SpringBootServletInitializer扩展而来。
它能被Spring Framework识别,并将类App作为传统的WAR包进行初始化和实行。
它还见告Spring Framework将有WEB-INF文件夹及个中的资源供给用。

在App类中,有一个名为configure()的受保护方法。
它用于指定任何特定于运用程序的配置。
它只有一行,它接管App类的类型并创建一个SpringApplicationBuilder工具并返回。
这样做的是,创建的SpringApplicationBuilder工具将自动扫描App类,它所在的包,以及任何带注释的类的子包,以及包含Spring配置的注释。
然后它将基于这些配置构建Spring运用程序。
这是按老例进行集成的范例示例。
并且统统都通过依赖注入耦合。

静态main方法只有一行,它将类App的类型和任何其他命令行参数通报给SpringApplication.run()。
在幕后,这门课做了很多。
它将隐式地对当前包和所有子包进行组件扫描。
如果须要,开拓职员还可以添加其它路径包为扫描目标。
开拓职员可以为所需的任何其他配置添加额外的注释。
对付这个大略的程序,只有MVC掌握器类可以处理用户对页面的要求。

MVC掌握器

接下来是我们的MVC掌握器类。
这是一个非常大略的类,只有一个方法可以处理来自用户的HTTP GET要求,并带有一些查询参数。
它通过利用JSP页面作为视图来相应。
源代码如下:

类中代码没有什么新鲜的。
也便是说,该掌握器类的定义与任何Spring MVC掌握器的定义相同。
我们大略走读一下类实现:

类用@controller注释:表示它是一个掌握器类。

类只有一个方法来处理HTTP GET要求。
它用@requestmapping注释。
注释定义了要求的子路径以及它可以处理的http方法get要求。

方法创建一个ModelAndView工具并返回。
视图页面称为“testme”。
数据模型只是一个将显示在页面上的字符串。

该方法接管一个参数,该参数来自查询参数,称为“sayit”。

全体类的功能,便是当用户在浏览器地址栏输入以下路径时,进行相应处理:

http://localhost:8080/meow?sayit=This+is+pretty+crazy

为了让这个掌握器按预期事情,还须要一些额外的配置。
它在application.properties文件中完成。

Application.properties属性文件

application.properties须要指定视图模板文件的前缀和后缀。

如果您做过spring mvc项目,或者你知道,web项目须要创建和配置一个org.springframework.web.servlet.view.internalResourceViewResolver类型的工具,而这个工具须要指定两个属性:

意思是运用程序在“WEB-INF/JSP/”文件夹中查找视图模板。
文件扩展名是“.jsp”。

ok,现在我们已经有了主程序入口类、掌握器类和内部资源视图解析器的设置。
末了一块是视图模板。

JSP模版

本教程的视图模板非常大略,只有一个JSP文件演示如何显示视图模型中的数据:

在这个JSP文件中,有三件事:

有级联样式表文件。
它是一个静态文件,通过JSTL标记添加。
这哀求JSTL库已经精确地引入到了项目中。

视图模型只有一个元素,并通过$mymessage添加到视图中。

在HTML内容的末端添加了一个javascript文件,加载后将实行该文件。
这是为了演示在这个项目中静态文件的利用。

让示例运用程序供应静态内容是非常主要的。
它供应了超越Spring MVC的方法——静态页面和javascript可用于单页Web运用程序。
而且,利用Spring勾引很随意马虎得到静态内容,后面会再阐明这一点。

静态文件

Spring Boot供应了很多便利,让开发职员能够快速上手开拓。

这些便利是通过一个约定来实现的:

当您利用Spring Boot开拓的运用程序指定为基于Web的运用程序时,您所须要做的便是在src/main/resources下创建一个名为“static”的文件夹。

​ 在这个“静态”文件夹中,只需根据须要添加任何子文件夹,并将任何静态内容文件放入个中,就可以为它们供应做事。
以本案例程序为例,我有三个指定为静态内容的文件:

级联样式表的文件——src/resources/static/assets/css/index.css一个javascript文件——src/resources/static/assets/js/test.js一个HTML文件——src/resources/static/test.html

那么,用户如何通过浏览器访问这些静态内容呢?这很随意马虎。
假设运用程序正在运行,并且假设运用程序运行的网站的URL是http://localhost:8080/(在这没有特定的运用程序高下文),那么用户可以利用以下URL查看这些静态内容文件的实际内容:

http://localhost:8080/assets/js/test.js

http://localhost:8080/assets/css/index.css.

http://localhost:8080/assets/test.html.

有一些方法可以配置Spring勾引运用程序在其他位置查找静态内容文件,WEB-INF和JSP位置也是如此,运用程序如何初始化,以及Spring勾引运用程序如何事情的许多其他方面。
这些不是本教程中谈论的主题,但是如果你对Spring Boot有足够的理解,这些主题就微不足道了。
我可能会在往后的文章中先容个中的一些。

构建和运行运用程序

在构建项目之前,请转到src/main/resources/static/assets/js文件夹,并将文件“test.sj”重命名为“test.js”。

要构建此运用程序,请在命令行掌握台中运行以下命令:

mvn clean install

当您第一次运行此运用程序时,它将下载用于构建此运用程序的所有依赖项,这可能须要一些韶光。
之后,后续的构建将花费更少的韶光。

要运行Web运用程序,还可以利用命令行掌握台:

java -jar target\boot-war-1.0.0.war

如果统统顺利,并且您可以构建运用程序,那么实行将在末了输出类似这样的结果:

正如我之条件到的,利用Spring勾引创建Web运用程序非常大略、方便。
这种便利性的关键是去掉所有凌乱无章的配置,这样人们就可以专注于开拓过程中最主要的部分,设计出符合终极产品愿景的产品。
除此之外,Spring Boot还有一个很酷的地方,那便是它可以快速支配到Docker虚拟机中。
因此,它非常适宜开拓微做事。

那么,接下来的便是编写那些更加繁芜的关于Spring的事情,例如数据访问、身份验证和授权。
敬请期待。
可以转发关注下,往后会持续更新!