使用maven管理springmvc工程

    xiaoxiao2021-04-12  55

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

    本篇博客是上一篇博客的续写,在上篇博客中我们详细的讲了Java环境的配置,Java EE版本的Eclipse的安装、Maven的安装与配置,Tomcat的安装与配置。并且为我们的Eclipse安装了M2Eclipse以及STS插件。并且创建运行了一个Maven管理的Web App。本篇博客就是基于上篇博客所创建的Web App工程来实现的,关于上篇博客的详细内容,请移步于《JavaEE开发基于Eclipse的环境搭建以及Maven 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官网(http://maven.apache.org/上有详细的实例。其中的POM Reference 给出了具体的Pom配置解决方案,特别全。那不会查哪儿,所以本篇博客关于pom.xml的配置就不做过多赘述了,更详尽的内容请移步与官网。

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

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

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

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

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

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

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

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">   <modelVersion>4.0.0</modelVersion>   <groupId>com.zeluli</groupId>   <artifactId>SpringMVCWithMaven</artifactId>   <packaging>war</packaging>   <version>0.0.1-SNAPSHOT</version>   <name>SpringMVCWithMaven Maven Webapp</name>   <url>http://maven.apache.org</url>   <properties>       <!-- Generic properties  -->       <java.version>1.8</java.version>       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>       <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>              <!-- web -->       <jsp.version>2.2</jsp.version>       <jstl.version>1.2</jstl.version>       <servlet.version>3.1.0</servlet.version>              <!-- Spring -->       <spring.version>4.3.6.RELEASE</spring.version>              <!-- Logging -->       <logback.version>1.2.1</logback.version>       <slf4j.version>1.7.21</slf4j.version>   </properties>       <dependencies>         <!--单元测试的依赖  -->     <dependency>       <groupId>junit</groupId>       <artifactId>junit</artifactId>       <version>3.8.1</version>       <scope>test</scope>     </dependency>          <!-- Spring MVC -->       <dependency>           <groupId>org.springframework</groupId>           <artifactId>spring-webmvc</artifactId>           <version>${spring.version}</version>       </dependency>              <!-- Web依赖 -->    <dependency>           <groupId>javax.servlet</groupId>           <artifactId>jstl</artifactId>           <version>${jstl.version}</version>       </dependency>               <dependency>           <groupId>javax.servlet</groupId>           <artifactId>javax.servlet-api</artifactId>           <version>${servlet.version}</version>           <scope>provided</scope>       </dependency>              <dependency>           <groupId>javax.servlet.jsp</groupId>           <artifactId>jsp-api</artifactId>           <version>${jsp.version}</version>           <scope>provided</scope>       </dependency>              <!-- 添加对象向json或xml转换的支持 -->       <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml -->     <dependency>         <groupId>com.fasterxml.jackson.dataformat</groupId>         <artifactId>jackson-dataformat-xml</artifactId>         <version>2.8.6</version>     </dependency>          <!-- 添加json数据绑定支持 -->     <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->     <dependency>         <groupId>com.fasterxml.jackson.core</groupId>         <artifactId>jackson-databind</artifactId>         <version>2.8.6</version>     </dependency>                     <!-- 使用SLF4J和LogBack作为日志 -->    <dependency>           <groupId>org.slf4j</groupId>           <artifactId>slf4j-api</artifactId>           <version>${slf4j.version}</version>       </dependency>       <dependency>           <groupId>ch.qos.logback</groupId>           <artifactId>logback-classic</artifactId>           <version>${logback.version}</version>       </dependency>       <dependency>           <groupId>ch.qos.logback</groupId>           <artifactId>logback-core</artifactId>           <version>${logback.version}</version>       </dependency>       <dependency>           <groupId>ch.qos.logback</groupId>           <artifactId>logback-access</artifactId>           <version>${logback.version}</version>       </dependency>          </dependencies>   <build>         <plugins>           <plugin>               <groupId>org.apache.maven.plugins</groupId>               <artifactId>maven-complier-plugin</artifactId>               <version>3.3.9</version>               <configuration>                   <source>${java.version}</source>                   <target>${java.version}</target>               </configuration>           </plugin>       </plugins>     <finalName>SpringMVCWithMaven</finalName>   </build> </project> pom.xml

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

    2.配置我们的SpringMVC

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

    该类中相应的代码如下:

    3、Web初始化

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

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

    上述类的完整代码:

    4.创建Controller

    5.创建index.jsp

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

    6.运行

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

    github-Demo源码分享地址:https://github.com/lizelu/SpringMVCWithMaven

    转载请注明原文地址: https://ju.6miu.com/read-667121.html

    最新回复(0)