《SpringMVC从入门到放肆》八、SpringMVC注解式开发(基本配置)

释放双眼,带上耳机,听听看~!
00:00
00:00

上一篇我们结束了配置式开发,配置式开发目前在企业中用的并不是很多,大部分企业都在使用注解式开发,所以今天我们就来学习注解式开发。所谓SpringMVC注解式开发是指,处理器是基于注解的类的开发方式。对于每一个定义的处理器,无需在配置文件中逐个注册,只需在代码中通过对类与方法的注解,便可完成注册。

 

一、注册组件扫描器

这里说的组件即处理器,需要指定处理器所在的基本包。

  1. <?xml version=\"1.0\" encoding=\"UTF-8\"?>
  2. <beans xmlns=\"http://www.springframework.org/schema/beans\"
  3. xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
  4. xmlns:context=\"http://www.springframework.org/schema/context\"
  5. xmlns:aop=\"http://www.springframework.org/schema/aop\"
  6. xmlns:tx=\"http://www.springframework.org/schema/tx\"
  7. xmlns:mvc=\"http://www.springframework.org/schema/mvc\"
  8. xsi:schemaLocation=\"http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/context
  11. http://www.springframework.org/schema/context/spring-context.xsd
  12. http://www.springframework.org/schema/aop
  13. http://www.springframework.org/schema/aop/spring-aop.xsd
  14. http://www.springframework.org/schema/tx
  15. http://www.springframework.org/schema/tx/spring-tx.xsd
  16. http://www.springframework.org/schema/mvc
  17. http://www.springframework.org/schema/mvc/spring-mvc.xsd\">
  18. <!-- 注册组件扫描器 -->
  19. <context:component-scan base-package=\"cn.wechatbao.controller\"></context:component-scan>
  20. </beans>

 

二、第一个注解式Demo

1:Controller

  1. package cn.wechatbao.controller;
  2. import javax.servlet.http.HttpServletRequest;
  3. import javax.servlet.http.HttpServletResponse;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.servlet.ModelAndView;
  7. @Controller
  8. public class MyController {
  9. @RequestMapping(\"/my.do\")
  10. public ModelAndView first(HttpServletRequest request,
  11. HttpServletResponse response) throws Exception {
  12. ModelAndView mv = new ModelAndView();
  13. mv.addObject(\"message\", \"第一个注解式开发程序\");
  14. mv.setViewName(\"/WEB-INF/jsp/welcome.jsp\");
  15. return new ModelAndView(\"\");
  16. }
  17. }

 

2:JSP页面(welcome.jsp)

  1. <%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"UTF-8\"%>
  2. <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
  3. <html>
  4. <head>
  5. <title>SpringMVC1</title>
  6. </head>
  7. <body>
  8. ${message }
  9. </body>
  10. </html>

 

3:完整的项目结构

 《SpringMVC从入门到放肆》八、SpringMVC注解式开发(基本配置)

 

三、命名空间的配置

一般情况下,我们开发时,一个Controller类就是一个模块,而里面的所有处理器方法就是该模块的不同业务功能。这个时候,我们Controller与Controller之间就要用路径来区分开来。以表示不同的业务模块。这个时候,只需要在类上再加上@RequestMapping(\”/test\”)注解就OK了。

完整的类如下:

  1. package cn.wechatbao.controller;
  2. import javax.servlet.http.HttpServletRequest;
  3. import javax.servlet.http.HttpServletResponse;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.servlet.ModelAndView;
  7. @Controller
  8. @RequestMapping(\"/test\")
  9. public class MyController {
  10. @RequestMapping(\"/first.do\")
  11. public ModelAndView first(HttpServletRequest request,
  12. HttpServletResponse response) throws Exception {
  13. ModelAndView mv = new ModelAndView();
  14. mv.addObject(\"message\", \"第一个注解式开发程序方法一\");
  15. mv.setViewName(\"/WEB-INF/jsp/welcome.jsp\");
  16. return mv;
  17. }
  18. @RequestMapping(\"/second.do\")
  19. public ModelAndView second(HttpServletRequest request,
  20. HttpServletResponse response) throws Exception {
  21. ModelAndView mv = new ModelAndView();
  22. mv.addObject(\"message\", \"第一个注解式开发程序方法二\");
  23. mv.setViewName(\"/WEB-INF/jsp/welcome.jsp\");
  24. return mv;
  25. }
  26. }

 

四、请求中通配符的使用

在实际开发的过程中,我们可能会遇到请求中的方法开头或结尾是固定的,其它字符是可变的,比如:

http://localhost:8080/SpringMVC/usermanager/user-add.do

http://localhost:8080/SpringMVC/usermanager/user-edit.do

假设上面URL中usermanager是模块名(也就是我们说的命名空间),user-add.do和user-edit.do是具体的请求。但是添加和修改我们完全可以用一个处理器方法来解决。这个时候用通配符就简单多了。其实配置起来也特别简单,只需要在处理器方法上面的注解里加*就可以了。如下

  1. @RequestMapping(\"/user-*.do\")
  2. public ModelAndView userAddOrUpdate(HttpServletRequest request,
  3. HttpServletResponse response) throws Exception {
  4. ModelAndView mv = new ModelAndView();
  5. mv.addObject(\"message\", \"用户的添加或修改功能\");
  6. mv.setViewName(\"/WEB-INF/jsp/welcome.jsp\");
  7. return mv;
  8. }

《SpringMVC从入门到放肆》八、SpringMVC注解式开发(基本配置)

《SpringMVC从入门到放肆》八、SpringMVC注解式开发(基本配置)

 

站长资讯

一文掌握 Linux 性能分析之网络篇

2020-11-9 3:45:12

站长资讯

泥瓦匠:秒杀架构设计实践思路(一)

2020-11-9 3:45:14

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索