学会spring看这个就够了,《Spring实战第五版》笔记第二章

Spring MVC是基于注解的,通过像@RequestMapping、@GetMapping和@PostMapping这样的注解来启用请求处理方法的声明。大多数的请求处理方法最终会返回一个视图的逻辑名称,比如Thymeleaf模板,请求会转发到这样的视图上(同时会带有任意的模型数据)。Spring MVC支持校验,这是通过Java Bean Validation API和Validation API的实现(如Hibernate Validator)完成的。对于没有模型数据和逻辑处理的HTTP GET请
摘要由CSDN通过智能技术生成

前言

一、SpringMVC是什么?

二、开发Web应用

2.1定义Taco类

2.2创建控制器

2.3检验表单输入

2.4创建视图控制器





前言

在之前开发中Web应用都是使用Servlet进行开发,但是Servlet进行开发时每写一个Servlet都要对Web.xml文件进行配置,并且doGet方法和doPost方法有HttpServletRequest和HttpServletResponse参数。在单元测试中必须初始化这两个参数。简而言之,就是servlet具有容器依赖性而Spring实战第二版讲的是使用SpringMVC开发Web应用,可以让我们更深刻的理解SpringMVC





一、SpringMVC是什么

Spring MVC是基于注解的,通过像@RequestMapping、@GetMapping和@PostMapping这样的注解来启用请求处理方法的声明。大多数的请求处理方法最终会返回一个视图的逻辑名称,比如Thymeleaf模板,请求会转发到这样的视图上(同时会带有任意的模型数据)。
Spring MVC支持校验,这是通过Java Bean Validation API和Validation API的实现(如Hibernate Validator)完成的。
对于没有模型数据和逻辑处理的HTTP GET请求,可以使用视图控制器。
除了Thymeleaf之外,Spring支持各种视图方案,包括FreeMarker、Groovy Templates和Mustache。

SpringMVC是Spring+MVC,实现了WebMVC设计模式(MVC:Model,View,Conltroller)视图可以复用,即:控制器和视图是弱偶合关系,





二、开发Web应用





2.1定义Taco类

package tacos;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;
@Data
public class Taco {
    @NotNull
    @Size(min=5, message="名字最小五个字符")
    private String name;

    @Size(min=1, message="最少一个")
    private List<Ingredient> ingredients;

    private Long id;
    private Date createdAt;
}

 在我们的领域中,taco配料是非常简单的对象。每种配料都有一个名称和类型,以便于对其进行可视化的分类(蛋白质、奶酪、酱汁等)。每种配料还有一个ID,这样的话对它的引用就能非常容易和明确。如下的Ingredient类定义了我们所需的领域对象。

package tacos;

import lombok.Data;
import lombok.RequiredArgsConstructor;

@Data
@RequiredArgsConstructor
public class Ingredient {

  private final String id;
  private final String name;
  private final Type type;

  public static enum Type {
    WRAP, PROTEIN, VEGGIES, CHEESE, SAUCE
  }

}

 Ingredient类是一个非常简单的类,但是最不寻常的一点是它似乎缺少了常见的getter和setter方法,以及equals()、hashCode()、toString()等方法。

这是因为我们使用了Lombok的库,这个库并不是Spring提供的,但是它很有用,使用@Data注解可为我们自动生成getter和setter方法,以及equals()、hashCode()、toString()等方法,使

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值