Spring MVC Gradle
在本文中,我们将使用Eclipse Gradle插件开发和测试简单的Spring MVC Gradle应用程序。
Spring MVC Gradle
我们将从Spring MVC教程将Spring MVC maven示例转换为spring mvc gradle示例。
还建议您阅读我以前在Gradle教程中的Gradle帖子。
Spring MVC将Maven转换为Gradle
以下是将Maven转换为Gradle应用程序要遵循的步骤。
通过以下链接开发基于Maven的Spring MVC应用程序:Spring MVC教程或者从下面的链接下载代码。
下载Spring MVC项目将此spring mvc maven项目导入Eclipse IDE。
删除
pom.xml
文件创建空的" build.gradle"文件。
现在开始将每个组件从pom.xml转换为build.gradle文件。
基本的build.gradle模板文件
build.gradle
apply plugin: 'java' apply plugin: 'eclipse' sourceCompatibility = 1.7 repositories { mavenCentral() } dependencies { //Dependencies goes here }
我们将以此为基础构建文件,并用所需的元素逐一更新它。
- 由于它是Spring MVC Web应用程序,因此我们需要创建WAR文件。
因此,请应用war插件并定义war属性,如下所示。
另请提供war文件名及其版本。
apply plugin: "war" war { baseName = 'SpringMVCExample' version = '1.0.0-BUILD-SNAPSHOT' }
- 添加Spring依赖关系,如下所示
dependencies { compile("org.springframework:spring-context:4.0.0.RELEASE") compile("org.springframework:spring-webmvc:4.0.0.RELEASE") compile("org.aspectj:aspectjrt:1.7.4") }
- 添加其余的应用程序依赖项,如下所示
dependencies { compile("javax.inject:javax.inject:1") compile("javax.servlet:servlet-api:2.5") compile("javax.servlet:jstl:2.5") compile("javax.servlet.jsp:jsp-api:1.2") compile("org.slf4j:slf4j-api:1.7.5") compile("org.slf4j:jcl-over-slf4j:1.7.5") compile("org.slf4j:slf4j-log4j12:1.7.5") compile("log4j:log4j:1.2.15") }
- 添加我们的应用程序单元测试依赖项,如下所示。
dependencies { testCompile("junit:junit:4.7") }
我们使用" compile()"元素添加依赖项。
compile("org.springframework:spring-context:4.0.0.RELEASE")
我们使用" providedRuntime()"元素在运行时添加依赖项。
providedRuntime("javax.servlet:jstl:2.5")
我们使用" testCompile()"元素来添加仅用于运行单元测试的依赖项。
testCompile("junit:junit:4.7")
- 我们的应用程序完整的build.gradle依赖关系如下所示。
build.gradle
dependencies { compile("org.springframework:spring-context:4.0.0.RELEASE") compile("org.springframework:spring-webmvc:4.0.0.RELEASE") compile("org.aspectj:aspectjrt:1.7.4") compile("javax.inject:javax.inject:1") compile("javax.servlet:servlet-api:2.5") compile("javax.servlet:jstl:2.5") compile("javax.servlet.jsp:jsp-api:1.2") compile("org.slf4j:slf4j-api:1.7.5") compile("org.slf4j:jcl-over-slf4j:1.7.5") compile("org.slf4j:slf4j-log4j12:1.7.5") compile("log4j:log4j:1.2.15") testCompile("junit:junit:4.7") }
现在,最终的项目结构如下图所示。
在项目根目录中打开命令提示符以执行gradle命令。
现在,通过执行以下gradle命令来构建war文件。
gradle clean gradle build
或者使用以下语法一次执行两个命令。
这类似于执行Maven命令。
gradle clean build
我总是建议每个人在构建我们的应用程序之前使用" clean"命令。
它会清理我们的旧版本内容,编译并使用最新文件创建新的WAR/JAR。
- 观察我们新创建的war文件,位于${PROJECT_ROOT_DIR}/build/libs /文件夹,如下所示。
War file is created with given Name and Version in build.gradle file. i.e. SpringMVCExample-1.0.0-BUILD-SNAPSHOT.war
测试Spring MVC Gradle应用程序
我们已经成功开发了Spring MVC gradle应用程序。
现在是时候部署和测试该应用程序了。
您可以将此应用程序部署到任何Web /应用程序服务器中。
我将使用Apache Tomcat 8测试该应用程序。
${TOMCAT8_HOME} = D:\apache-tomcat-8.0.24 ${TOMCAT8_BIN} = D:\apache-tomcat-8.0.24\bin
- 将我们的战争文件" SpringMVCExample-1.0.0-BUILD-SNAPSHOT.war"复制到${TOMCAT8_HOME}/webapps /文件夹中
- 在${TOMCAT8_BIN}中打开CMD Prompt,然后启动Tomcat服务器。
D:\apache-tomcat-8.0.24\bin>startup.bat
- 测试我们的应用
使用以下URL访问主页:https://localhost:8888/SpringMVCExample-1.0.0-BUILD-SNAPSHOT /
其中我们的应用程序RootContext是" SpringMVCExample-1.0.0-BUILD-SNAPSHOT"。
如果需要,我们可以为WAR文件指定一个适当的名称,例如" SpringMVCExample"。
使用以下网址访问登录页面:localhost:8888/SpringMVCExample-1.0.0-BUILD-SNAPSHOT/login /
提供用户名,单击"登录"按钮,然后观察下一页,如下所示:
Gradle和Maven项目之间的观察
如果我们同时观察基于SpringMVCExample Maven和Gradle的项目,则可以观察到以下内容。
我们将获得相同的战争文件和输出。
Maven的build.xml是XML文件,而Gradle的build.gradle文件是纯文本文件。
Maven的build.xml太大,并且包含许多XML配置。
Gradle的build.gradle包含很少的配置。Gradle的build.gradle文件包含较少的配置,而且重量也很轻。
除了这些好处,我们还可以从Gradle文件中获得更多好处。
请在我有关Gradle的第一篇文章中参考它们。
由于这些原因,当今大多数新项目都从Gradle构建工具开始,而现有项目正从Maven转换为Gradle。