java

位置:IT落伍者 >> java >> 浏览文章

springMVC之annotation优化


发布日期:2018年02月01日
 
springMVC之annotation优化

在之前配置的spring配置文件中会有这样的代码

<! 方法映射 >

<bean class=orgspringframeworkwebservletmvcannotationAnnotationMethodHandlerAdapter></bean>

<! 找类 >

<bean class=orgspringframeworkwebservletmvcannotationDefaultAnnotationHandlerMapping></bean>

这两句是注入开启映射的类

在spring后有了mvc标签可以将上两句改为

<mvc:annotationdriven/>

同样可以达到以上的结果

在controller中我们是这样配置的

package ntrollerannotation;

import orgspringframeworkstereotypeController;

import orgspringframeworkwebbindannotationRequestMapping;

import orgspringframeworkwebbindannotationRequestMethod;

import orgspringframeworkwebservletModelAndView;

@Controller

public class HelloAnnotationController {

@RequestMapping(value=/user/addusermethod=RequestMethodGET)

public ModelAndView addUser(){

return new ModelAndView(/annotationTestresultadd user

}

@RequestMapping(value=/user/deluser

public ModelAndView delUser(){

return new ModelAndView(/annotationTestresultdelete user

}

}

这里面也有很多可以优化的

对于传输方法在平时开发时没有必要必须规定是什么方法传输也就是无论get还是post均可以运行这样只要将method=RequestMethodGET删掉即可

在没给个方法前面都会出现/user即为命名空间这样代码会太重复可以在类的前面加上@RequestMapping(/user

在struts中方法的返回值一般为String在springMVC中也可以这样做

最后controller的代码可以修改为

package ntrollerannotation;

import javaxservlethttpHttpServletRequest;

import orgspringframeworkstereotypeController;

import orgspringframeworkwebbindannotationRequestMapping;

import orgspringframeworkwebbindannotationRequestMethod;

import orgspringframeworkwebservletModelAndView;

@Controller

@RequestMapping(/user

public class HelloAnnotationController {

@RequestMapping(/adduser

public String addUser(HttpServletRequest request){

requestsetAttribute(resultadd user 方法

return /annotationTest;

}

@RequestMapping(/deluser

public String delUser(HttpServletRequest request){

requestsetAttribute(resultdelete user上述

return /annotationTest;

}

}

上一篇:Spring容器对Bean组件的管理

下一篇:java 编程模式---桥接模式(Bridge Patter)