资讯专栏INFORMATION COLUMN

SpringMVC之初体验--Code-based

happyfish / 2330人阅读

摘要:最后创建了群方便大家交流,可扫描加入,同时也可加我,共同学习共同进步,谢谢

创建项目

创建web项目,使用maven webapp模板进行构建,创建完成后,在pom中引入Spring MVC
依赖,如下:

</>复制代码

  1. org.springframework
  2. spring-webmvc
  3. 5.0.5.RELEASE
  4. javax.servlet
  5. javax.servlet-api
  6. 3.1.0
  7. provided
web.xml配置

在web.xml配置文件中,配置Spring MVC Servlet控制器(DispacherServlet),如下:

</>复制代码

  1. Archetype Created Web Application
自定义WebApplicationInitializer

WebApplicationInitializer是SpringMVC核心初始化器,继承关系为:AbstractAnnotationConfigDispatcherServletInitializer-->AbstractDispatcherServletInitializer-->AbstractContextLoaderInitializer-->WebApplicationInitializer,自定义只需集成AbstractAnnotationConfigDispatcherServletInitializer即可,如下:

</>复制代码

  1. package com.github.dalianghe.config;
  2. import org.springframework.lang.Nullable;
  3. import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
  4. public class MyWebApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
  5. /**
  6. * 返回Spring应用根容器中定义的beans,对应ContextLoaderListener,是Spring根容器
  7. * @return
  8. */
  9. @Nullable
  10. @Override
  11. protected Class[] getRootConfigClasses() {
  12. return null;
  13. }
  14. /**
  15. * 返回Spring MVC应用容器中定义的beans,对应DispatcherServlet中加载的bean
  16. * Spring MVC容器是根容器的子容器,子容器可以看到根容器中定义的beans,反之不行
  17. * @return
  18. */
  19. @Nullable
  20. @Override
  21. protected Class[] getServletConfigClasses() {
  22. return new Class[]{WebConfig.class};
  23. }
  24. /**
  25. * 指定映射拦截URLs
  26. * @return
  27. */
  28. @Override
  29. protected String[] getServletMappings() {
  30. return new String[]{"/"};
  31. }
  32. /**
  33. * 通过重写此方法修改DispatcherServlet的名称,对应标签
  34. * @return
  35. */
  36. @Override
  37. protected String getServletName() {
  38. return "dispatcher";
  39. }
  40. }
创建WebMvc配置类

通过@EnableWebMvc注解开启Spring MVC特性,并且通过@ComponentScan指定扫描路径,在此类中配置视图解析器、静态资源处理等等,代码(最简)如下:

</>复制代码

  1. package com.github.dalianghe.config;
  2. import org.springframework.context.annotation.ComponentScan;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  5. @Configuration
  6. @EnableWebMvc
  7. @ComponentScan(basePackages = "com.github.dalianghe.controller")
  8. public class WebConfig{
  9. }
创建Controller类

创建Controller用于处理我们的请求,代码如下:

</>复制代码

  1. package com.github.dalianghe.controller;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. @RestController
  5. public class TestController {
  6. @GetMapping(value = "/test")
  7. public String test(){
  8. return "hello spring mvc annotation!";
  9. }
  10. }
部署应用

本例通过maven插件进行部署,在pom文件中添加插件,如下:

</>复制代码

  1. org.apache.tomcat.maven
  2. tomcat7-maven-plugin
  3. 2.2
  4. /
  5. 8080
访问应用

在浏览器地址栏输入如下地址:

</>复制代码

  1. http://localhost:8080/test
总结

本文以java配置的方式,通过WebApplicationInitializer配置Spring MVC(替换传统web.xml方式),实现了一个rest风格的服务,此方式是Spring3.1之后引入配置方式,使用Servlet3.0技术规范,在Servlet3.0+中web容器启动时,扫描类路径下所有的WebApplicationInitializer接口。

最后创建了qq群方便大家交流,可扫描加入,同时也可加我qq:276420284,共同学习、共同进步,谢谢!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69213.html

相关文章

  • SpringMVC之初体验--传统方式

    摘要:创建项目创建项目,使用模板进行构建,创建完成后,在中引入依赖,如下引入依赖,使用版本为配置在配置文件中,配置控制器如下指定配置文件,默认为,本例配置从中加载容器启动时加载,若不配置此项 创建项目 创建web项目,使用maven webapp模板进行构建,创建完成后,在pom中引入Spring MVC依赖,如下: org.springframework spr...

    Nosee 评论0 收藏0
  • 小程序云开发之初体验

    摘要:小程序云开发之初体验前言选型的时候前后端都准备自己搞,然后选中方案,搭建的时候,发现官方文档没有了,后来问客服,客服说方案是存量用户使用的,相关文档已经下线说是现在主推云开发,然后带着疑问和懵逼脸转向了云开发最后发现云开发的我是幸福的 小程序云开发之初体验 前言:选型的时候前后端都准备自己搞,然后选中wafer方案,搭建的时候,发现官方文档没有了,后来问客服,客服说wafer方案是存量...

    yanbingyun1990 评论0 收藏0
  • 小程序云开发之初体验

    摘要:小程序云开发之初体验前言选型的时候前后端都准备自己搞,然后选中方案,搭建的时候,发现官方文档没有了,后来问客服,客服说方案是存量用户使用的,相关文档已经下线说是现在主推云开发,然后带着疑问和懵逼脸转向了云开发最后发现云开发的我是幸福的 小程序云开发之初体验 前言:选型的时候前后端都准备自己搞,然后选中wafer方案,搭建的时候,发现官方文档没有了,后来问客服,客服说wafer方案是存量...

    Lionad-Morotar 评论0 收藏0
  • 小程序云开发之初体验

    摘要:小程序云开发之初体验前言选型的时候前后端都准备自己搞,然后选中方案,搭建的时候,发现官方文档没有了,后来问客服,客服说方案是存量用户使用的,相关文档已经下线说是现在主推云开发,然后带着疑问和懵逼脸转向了云开发最后发现云开发的我是幸福的 小程序云开发之初体验 前言:选型的时候前后端都准备自己搞,然后选中wafer方案,搭建的时候,发现官方文档没有了,后来问客服,客服说wafer方案是存量...

    Labradors 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<