零XML配置 SpringMVC 进阶之路 - 搭建环境
写了快两年的Java代码了,发现自己居然不会搭建一套Spring mvc环境出来,只会添砖加瓦,说来就惭愧了,为了弥补这点的缺陷,也为了以后更好的借助已有的SpringMVC项目学习更多的知识,我决定从零搭建一套自己的SpringMVC。 网上搜索大部分都是基于XML配置的环境搭建,基于XML大部分是因为历史项目的原因无法切换成基于JavaConfig来进行配置,但是基于JavaConfig是未来的趋势,所以本系列的文章是零XML配置的,喜欢XML请自行搜索其他问问。 使用的基础环境如下: 废话不多说,开始整起。 本篇的文章是搭建一套最简单的,只有HelloWorld的项目,目标是浏览器中输入一个URL,返回”HelloWorld”。 新建项目现在一个普通的Maven项目,不要使用Archtype生成: 填写自己的GroupId和ArtifactId,一路Next。 修改pom.xml新生成的pom.xml,只有项目的groupId和artifactId: <groupId>com.cyf</groupId>
<artifactId>base</artifactId>
<version>1.0-SNAPSHOT</version>
增加依赖包<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.13.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
其中spring-webmvc就是我们要用的核心包,我们使用Spring4系列中最新的一个版本。 增加编译插件<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
增加packaging一定要增加打包类型 <packaging>war</packaging>
由于我没有增加打包类型为: war导致配置tomcat时无法找到Artifact,在网上找了很多解决方案都不行,加了这个配置就好。 增加WebAppInitializer新建我们自己的package,然后增加类: MyWebAppInitializer public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
//Spring 上下文配置
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{RootConfig.class};
}
//Servlet上下文配置
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{ServletConfig.class};
}
//mapping配置
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
增加配置类Spring上下文配置类@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.cyf.base")
public class RootConfig {
}
@Configuration: 注意,@EnableWebMvc和@ComponentScan(basePackages = “com.cyf.base”) 一定要放在一起,否则会有问题,项目能启动,但是拦截不到请求。 Servlet上下文配置类@Configuration
public class ServletConfig extends WebMvcConfigurerAdapter {
}
这里的配置是继承了WebMvcConfigurerAdapter,它有很多默认的配置,不需要我们实现,当然我们可以覆盖它的默认实现,这里就不说了,后续有需要,我们再慢慢覆盖。 增加一个Controller@RestController
@RequestMapping("/api")
public class TestController {
@GetMapping("/hello")
public Object hello(){
return "helloWorld";
}
}
不用详细说了,稍微开发过SpringMvc的都清楚。 部署这里直接在Idea部署到了tomcat上,这里就不重复造轮子了,到网上随便找找有很多,比如Idea部署tomcat。 运行运行后,浏览器中输入: 到此为止,一个最最简单的基于JavaConfig配置的SpringMVC就出来了,是不是很简单。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |