JAVA记录-@Controller和RequestMapping注解代码介绍

java

1.spring-mvc.xml加入配置

 <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->

<context:component-scan base-package="com.net.xinfang.controller" />

2.@controller/@RequestMapping/@RequestParam写法

 

@Controller

@RequestMapping(value = "/cte") ---代表第一层url

public class CntoEnController {

@RequestMapping(value="/getcte", method = {RequestMethod.GET}) ---代码第二次url

public String test(HttpServletRequest request,Model model,

@RequestParam(value="langType", defaultValue="zh") String langType){ ---请求的值传给langType

return "cte";

}

}

完整请求路径为:http://ip地址:端口号/项目名/cte/getcte?langType=zh

 

3.@RequestMaping写法

@RequestMapping(value="",method={"",""},headers={},params={"",""})

参数:

value:设置访问地址

method:设置访问方式,常用的method=RequestMethod.POST,和method=RequestMethod.GET

headers:头域,可以设置浏览器支持的格式

params:访问参数设置

注解作用:

用来定义访问的url。可以是方法级别的,也可以是类级别的。两者可以协同工作,缩小选择范围。也可以隐藏代码的真实路径,更加具有安全性和可读性。

@Autowired

注解作用:

可以对成员变量、方法和构造函数进行标注,来完成自动装配工作。可以消除get,set方法。

可以使用@Autowired注解来减少代码量。首先,在applicationContext中加入:

<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>

然后,在变量上添加@Autowired注解,并去掉相应的getter和setter方法:

public class ClasServiceImpl implements ClasService{

@Autowired

private ClasDAO clasDAO;

  ...

}

并且在applicationContext中将相应的<property></property>标签去掉:

    <bean id="clasService" class="com.school.service.ClasServiceImpl">

</bean>

Spring启动时,AutowiredAnnotationBeanPostProcessor会扫描所有的Bean,当发现其中有@Autowired注解时,就会找相应类型的Bean,并且实现注入。

@ResponseBody

注解作用:

直接放在方法上,表示返回类型将会直接作为Http响应字节流输出,可以用于Ajax。

@RequestParam(required=,value="",defaultValue="")

参数:

required:参数是否必须,boolean类型,默认为true

value:传递的参数名称,String类型,可选项,有值则对应方法的参数

defaultValue:参数没有传递时为参数默认指定的值

@Override

伪代码,表示重写(当然不写也可以),不过也有好处:

1、可以当注释用,方便阅读;

2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。

 例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

以上是 JAVA记录-@Controller和RequestMapping注解代码介绍 的全部内容, 来源链接: utcz.com/z/393122.html

回到顶部