博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaEE开发使用Maven管理的SpringMVC工程
阅读量:4311 次
发布时间:2019-06-06

本文共 8243 字,大约阅读时间需要 27 分钟。

前几篇博客已经陆陆续续的聊了一些Spring的东西,今天博客我们就来聊一下SpringMVCSpringMVC目前在JavaEE开发中可谓占据一席之地,用起来也是比较顺手的。低耦合,高内聚,利用一些注解以及Java配置类就能很好的实现解耦。今天我们就来看一下如何使用Maven来配置SpringMVC, 然后在我们的Web工程中进行使用。

本篇博客是上一篇博客的续写,在上篇博客中我们详细的讲了Java环境的配置,Java EE版本的Eclipse的安装、Maven的安装与配置,Tomcat的安装与配置。并且为我们的Eclipse安装了M2Eclipse以及STS插件。并且创建运行了一个Maven管理的Web App。本篇博客就是基于上篇博客所创建的Web App工程来实现的,关于上篇博客的详细内容,请移步于《》。

 

一、引入SpringMVC前的准备

上篇博客我们以及创建了Maven管理的Web App了,下方的内容就是我们SpringMVC的东西了。我们创建的工程中,还少一个目录。在SpringMVC中还有一个src/test/resources目录,而我们刚才创建的工程中是没有的,所以我们得创建该目录,首先右键单击Java Resources -> New -> Source Folder。具体如下所示:

  

 

然后选择我们的工程以及输入我们的Folder name即可,具体如下所示。

  

 

添加完该目录后,我们需要编辑一下上面创建的目录的Output folder。我们可以先看一下src/test/java目录的Output folder, 是taget/test-classes。 我们新添加的src/test/resouces也需要设置成target/test-classes。我们需要选中该条目然后进行编辑即可,如下所示。

  

 

编辑的时候选择test-classes即可,然后点击OK完成设置,具体如下所示:

  

 

二、通过Maven配置SpringMVC

上面的准备工作已就绪,接下来我们就该来使用Maven来配置我们的SpringMVC了。本部分我们会在pom.xml中添加SpringMVC以及其依赖的库,然后就是通过Java配置的形式来引入我们的SpringMVC相关的东西,最后给出一个简单的使用实例。

 

1.在pom.xml中配置依赖库

关于Maven的pom.xml的配置在此就不做过多赘述了,Maven官网()上有详细的实例。其中的POM Reference 给出了具体的Pom配置解决方案,特别全。那不会查哪儿,所以本篇博客关于pom.xml的配置就不做过多赘述了,更详尽的内容请移步与官网。

  

 

Maven所支持的第三方库可以在中查到,你可以在搜索栏中搜索你想要的库,并且获取相应的版本。如下所示:

  

 

 

首先在pom.xml中添加一些属性,这些属性会在配置依赖库时使用到,大部分是一些依赖库的版本。这些属性的作用类似于宏定义的东西,便于我们后期版本变更。下方就是我们本篇博客所涉及工程的所有属性,如下所示:

  

然后添加单元测试的依赖也spring-webmvc的依赖,具体如下所示。下方在配置spring-webmvc是用到了上面我们定义的spring-version

  

然后添加jstl模板库、servlet以及jsp依赖库,如下所示。当然不同的库对应这不同的版本属性值,如下所示:

  

 

然后添加SLF4J和LogBack来输出日志,如下所示:

  

最后就是添加我们的Maven插件了,该插件的版本就是我们之前安装的M2Eclipse插件的版本,如下所示:

  

下方是我们本篇博客所涉及工程的pom.xml的完整内容:

4.0.0
com.zeluli
SpringMVCWithMaven
war
0.0.1-SNAPSHOT
SpringMVCWithMaven Maven Webapp
http://maven.apache.org
1.8
UTF-8
UTF-8
2.2
1.2
3.1.0
4.3.6.RELEASE
1.2.1
1.7.21
junit
junit
3.8.1
test
org.springframework
spring-webmvc
${spring.version}
javax.servlet
jstl
${jstl.version}
javax.servlet
javax.servlet-api
${servlet.version}
provided
javax.servlet.jsp
jsp-api
${jsp.version}
provided
com.fasterxml.jackson.dataformat
jackson-dataformat-xml
2.8.6
com.fasterxml.jackson.core
jackson-databind
2.8.6
org.slf4j
slf4j-api
${slf4j.version}
ch.qos.logback
logback-classic
${logback.version}
ch.qos.logback
logback-core
${logback.version}
ch.qos.logback
logback-access
${logback.version}
org.apache.maven.plugins
maven-complier-plugin
3.3.9
${java.version}
${java.version}
SpringMVCWithMaven
pom.xml

 

配置完毕后,我们会在目录中看到我们工程中所依赖的包,如下所示:

  

 

2.配置我们的SpringMVC

首先在src/main/java目录中创建一个包,用来存放SpringMVC相关的东西。然后在包中创建一个Java类,我们将该类命名为SpringMVCConfig。然后使用Spring的@Configuration注解将其声明为配置类,然后使用@EnableWebMvc开启WebMvc。然后在Java配置文件中配置InternalResourceViewResolver类的Bean。此处简单的说就是我们配置了一个JSP的View Resolver。如下所示。

  

该类中相应的代码如下:

package com.zeluli.springmvc;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config.annotation.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import org.springframework.web.servlet.view.InternalResourceViewResolver;import org.springframework.web.servlet.view.JstlView;@Configuration@EnableWebMvc@ComponentScan("com.zeluli.springmvc")public class SpringMVCConfig  extends WebMvcConfigurerAdapter {        @Bean    public InternalResourceViewResolver viewResolver(){        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();        viewResolver.setPrefix("/WEB-INF/classes/views/");        viewResolver.setSuffix(".jsp");        viewResolver.setViewClass(JstlView.class);        return viewResolver;    }        }

 

3、Web初始化

配置完我们的Spring后,我们还需要创建一个Web初始化的一个类。也就是WebInitalier。下方就是该类的创建过程,我们在创建该类是,需要实现springframework中的WebApplicationInitializer接口,如下所示:

  

在该类中所做的事情也是比较简单的,赋值加载Spring配置的上下文,然后与ServletContext进行关联。然后创建SpringMVC的DispatcherServlet

  

上述类的完整代码如下:

package com.zeluli.springmvc;import javax.servlet.ServletRegistration.Dynamic;import javax.servlet.ServletContext;import javax.servlet.ServletException;import org.springframework.web.WebApplicationInitializer;import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;import org.springframework.web.servlet.DispatcherServlet;public class WebInitializer implements WebApplicationInitializer {    public void onStartup(ServletContext servletContext) throws ServletException {                AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();        context.register(SpringMVCConfig.class);        context.setServletContext(servletContext);                Dynamic servlet = (Dynamic) servletContext.addServlet("dispatcher", new DispatcherServlet(context));        servlet.addMapping("/");        servlet.setLoadOnStartup(1);    }}

 

 

4.创建Controller

在配置完毕后,接下来就开始创建我们的Controller了。在springmvc包下面创建一个web包,然后创建一个Controller类。此处我们声明为FirstController,如下所示。然后使用@Controller注解告诉Spring框架这是一个Controller类。

在这个Controller类中,有一个success()赋值映射,当用户访问/index路由时会映射到index.jsp页面上。如下所示。

  

 

5.创建index.jsp

最后就是创建我们的jsp页面了。我们的jsp页面是放在src/main/resources目录下的,在其中创建一个views来容纳前端页面,我们在其中创建一个index.jsp页面。当然在创建该页面时,需要将webapp下面的index.jps页面删除掉,然后在index.jsp页面中添加一些div和和样式。

  

 

6.运行

经过上面的所有步骤,接下来就是我们最终热泪盈眶胜利的时刻了。选择我们的Tomcat服务器进行项目的运行,如果你看到下方的页面,说明你之前的配置是正确的,SpringMVC的引入和配置暂时告一段落了。下方就是这个期盼已久的页面。

   

关于日志的配置在此就不做过多赘述了,本篇博客所涉及的Demo依然会在github上进行分享。

github-Demo源码分享地址:

转载于:https://www.cnblogs.com/ludashi/p/6432080.html

你可能感兴趣的文章
sdc时序约束
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>
已知子网掩码,确定ip地址范围
查看>>
判断时间或者数字是否连续
查看>>
docker-daemon.json各配置详解
查看>>
Docker(一)使用阿里云容器镜像服务
查看>>
Docker(三) 构建镜像
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>
VNPY - 事件引擎
查看>>
MongoDB基本语法和操作入门
查看>>