Spring框架常用注解简单介绍
SpringMVC常用注解简单介绍
SpringBoot(一)创建一个简单的SpringBoot工程
SpringBoot(二)SpringBoot多环境配置
SpringBoot(三)SpringBoot整合MyBatis
SpringBoot(四)SpringBoot整合 Redis
SpringMVC
SpringMVC是Spring框架的一个模块,提供了web mvc , webviews , jsp等解决功能。
@RequestMapping 注解介绍
@RequestMapping用于建立请求URL和处理请求方法之间的对应关系。
出现位置:可以写在类上,方法上
- 写在方法上:和请求url绑定
- 写在类上:给访问url进行窄化处理。可以让我们的url变成模块化的形式。
属性:
- value:用于指定访问url和访问方法之间的对应关系。他和path的作用是一样的。
- method:用于指定请求方式
- params:用于指定限制请求参数的条件。
- headers:用于指定限制请求消息头的条件
@RequestParam 注解介绍
可以给请求字段另起一个名称,还可以给前端没有传递的参数赋默认值。
<!-- RequestParam注解使用 -->
<a href="account/testRequestParam?id=1" >测试RequestParam注解</a>
@Controller("accountController")
@RequestMapping("/account")
public class AccountController {
// 给请求字段另起一个名称
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value = "id", required = true) Integer accountId) {
System.out.println("AccountController --- testRequestParam:" + accountId);
return "success";
}
}
@RequestBody 注解介绍
可以获取请求body里的数据
<!-- RequestBody注解使用 -->
<form action="account/testRequestBody" method="POST">
账户名称:<input type="text" name="name" ><br />
账户金额:<input type="text" name="money" ><br />
账户地址:<input type="text" name="address" ><br />
<input type="submit" value="保存" />
</form>
@Controller("accountController")
@RequestMapping("/account")
public class AccountController {
// 获取请求body里的数据
@RequestMapping("/testRequestBody")
public String testRequestBody(@RequestBody String body) {
System.out.println("AccountController --- testRequestBody:" + body);
return "success";
}
}
@PathVaribale 注解介绍
用于绑定url中的占位符。
属性:
value:用于指定占位符的名称
required:是否必须提供占位符
@Controller("accountController")
@RequestMapping("/account")
public class AccountController {
// 用于绑定url中的占位符
@RequestMapping("/testPathVaribale/{id}")
public String testPathVaribale(@PathVariable(value = "id", required = true) Integer accountId) {
System.out.println("AccountController --- testPathVaribale:" + accountId);
return "success";
}
}
@RequestHeader 注解介绍
用于获取header里面的值
@Controller("accountController")
@RequestMapping("/account")
public class AccountController {
@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader("Accept-Language") String header ) {
System.out.println("AccountController --- testRequestHeader:" + header);
return "success";
}
}
@CookieValue 注解介绍
用于获取cookie里的值
value:用于指定cookie名称
required:是否必须有此cookie
@Controller("accountController")
@RequestMapping("/account")
public class AccountController {
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue(value = "JSESSIONID", required = true) String header) {
System.out.println("AccountController --- testCookieValue:" + header);
return "success";
}
}
@ModelAttribute 注解介绍
再当前类中的方法执行之前,会先执行被ModelAttribute修饰的方法
@Controller("accountController")
@RequestMapping("/account")
public class AccountController {
@RequestMapping("/testModelAttribute")
public String testModelAttribute(User user) {
System.out.println("AccountController --- testModelAttribute:" + user.toString());
return "success";
}
@ModelAttribute
public User testModelAttributeBefore() {
// 模拟去数据库先查询用户的信息
User user = new User();
user.setNickname("dff");
user.setPassword("111111");
user.setUsername("是非得失方法");
System.out.println("数据库中的用户信 --- " + user.toString());
return user;
}
}