springMVC学习笔记---注解优化

来源:互联网 发布:淘宝买烟是先付款吗 编辑:程序博客网 时间:2024/06/13 12:11

上次学习到springMVC的注解启用,在注解启用的时候使用如下中的包和bean,这两个bean的特点是没有id和name,开启springMVC的注解之后会自动调用

<span style="font-size:18px;"><!-- 注解扫描包 -->   <context:component-scan base-package="com.web.controller.annotation"></context:component-scan>   <!-- 开启注解 -->   <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>   <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean></span>

但是在spring3.0以后提出了MVC标签,使用更方便,可以不配置这两个bean,这样也避免了去找到这两个bean和他们的位置,不容易出现错误,像我上次那样找错了包,就总是调试不出来结果。

<mvc:annotation-driven/> 这个标签会自动加载那两个bean

<!-- 注解扫描包 -->   <context:component-scan base-package="com.web.controller.annotation"></context:component-scan>   <!-- 开启注解 -->   <mvc:annotation-driven/>

在controller中配置类和方法时,方法名字前面每个都要加路径比较麻烦,可以直接在类上面配置RequestMapping

1.@ RequestMapping (“/user”),其中字符串中是访问时controller的路径

2.在controller中不需要配置method  则在页面post和get方法都可以取到

3.将之前写的value=去掉,可以直接配置该方法的访问路径

4.我们配置访问前台页面的返回值时,可以直接返回String,不需要每次都new ModelAndView(),至于传递参数,我们在刚学习web开发,servlet的时候,就学习了使用HttpServletRuquest和HttpServletResponse,我们还是使用request来设置参数值,在页面取值就可以。

@Controller@RequestMapping("/annoUser")public class AnnoUserController {@RequestMapping("/addUser")public String addUser(HttpServletRequest request) {String result = "----add----optimization--"; request.setAttribute("result", result);return "/annotation";}@RequestMapping("/delUser")public ModelAndView delUser() {String result = "----del----optimization--"; return new ModelAndView("/annotation","result",result);}}

这是优化后的controller,和上次学习的对比简洁了很多,传递参数的第一个方法也比第二个方法简单。学习了框架之后,也要结合之前学习的内容,使自己的开发更简洁。

0 0