首页 > 代码库 > spring学习(一)—— spring mvc

spring学习(一)—— spring mvc

目的

了解Spring mvc

学习对象

https://github.com/spring-projects/spring-mvc-showcase

学习收获

1. 自定义注解

// 以下是注解接口
Target(value=http://www.mamicode.com/{ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})>
// 以下是使用注解
@MaskFormat("(###) ###-####")
private String masked;

  

2. RequestMapping注解

  • 可修饰类 和 方法,对应的url按层级累加
  • 可指定Get/Post方法
@Controller@RequestMapping("/data")public class RequestDataController {	@RequestMapping(value="http://www.mamicode.com/param", method=RequestMethod.GET)	public @ResponseBody String withParam(@RequestParam String foo) {  // 对应url  /data/param?foo=bar		return "Obtained ‘foo‘ query parameter value ‘" + foo + "‘";	}	@RequestMapping(value="http://www.mamicode.com/path/{var}", method=RequestMethod.GET)	public @ResponseBody String withPathVariable(@PathVariable String var) { // 对应url /data/path/bar		return "Obtained ‘var‘ path variable value ‘" + var + "‘";	}}@Controllerpublic class MappingController {        @RequestMapping("/mapping/path")   	public @ResponseBody String byPath() { // 最常见的		return "Mapped by path!";	}	@RequestMapping(value="http://www.mamicode.com/mapping/path/*", method=RequestMethod.GET)	public @ResponseBody String byPathPattern(HttpServletRequest request) { // 模式匹配到一组 url		return "Mapped by path pattern (‘" + request.getRequestURI() + "‘)";	}}    

3. java bean就是基础的对象类,每个属性可通过注解添加限制,也可用于json的转化

@XmlRootElementpublic class JavaBean {        @NotNull        private String fruit;
@NotEmpty // 非空 private String name; @Min(21) // 限定取值范围 private int age; @DateTimeFormat(iso=ISO.DATE) @Past // 必须是过去的时间,相反的是 Future private Date birthDate; @MaskFormat("(###) ###-####") // 自定义的格式 private String phone; @NumberFormat(style=Style.PERCENT) private BigDecimal percent; public JavaBean() { // 构造方法1 } public JavaBean(String foo) { // 构造方法2 this.foo = foo; } @Override public String toString() { // java bean作为最基础的对象类,一般会重构toString方法 return "JavaBean {foo=[" + foo + "], fruit=[" + fruit + "]}"; }}// 一些场景下(如调用接口)可通过序列化的对象 根据java bean定义反转义回来String json = MapUtils.getString(params,"json");JavaBean aBean = JsonUtil.toObject(json, JavaBean.class);

  

总结 

面对一种新的语言,结合简单的demo学习主要的语法和特性,了解适用的场景。通过实例的代码结构,思考如果自己从0建立一个新项目如何处理

spring学习(一)—— spring mvc