Mybatis+SpringMVC商城项目注解总结

Mybatis+SpringMVC商城项目注解总结

  • lombok框架注解

    Lombok框架是用于在编译期自动生成相关代码的,例如:Setters & Getters、hashCode()equals()toString()、无参数构造方法、全参数构造方法等。

import lombok
@Slf4j 完成日志打印 在类上使用	
    log.trace("")
    log.info("")
    log.debug("")
    log.warn("")
    log.error("")
    
@Setter: 添加在属性上,用于生成此属性的Setter方法,或者,添加在类上,用于生成此类中所有属性的Setter方法
    
@Getter: 添加在属性上,用于生成此属性的Getter方法,或者,添加在类上,用于生成此类中所有属性的Getter方法
    
@ToString: 添加在类上,用于生成基于此类中所有属性的`toString()`方法

@EqualsAndHashCode: 添加在类上,用于生成基于此类中所有属性的`hashCode()`和`equals()`方法,生成的方法将保证:如果2个对象的类型相同,且所有属性值相同,则`hashCode()`返回相同的结果,且`equals()`对比结果为`true`,否则,`hashCode()`返回不同的结果,且`equals()`对比结果为`false`
    
@NoArgConstructor: 添加在类上,用于生成无参数构造方法

@AllArgConstructor: 添加在类上,用于生成基于此类中所有属性的全参数构造方法

@Data 添加在类上,用于生成Setters & Getters、`hashCode()`、`equals()`、`toString()`,使用此注解时,必须保证当前类的父类存在无参数构造方法
  • SpringWeb框架提供的注解
import org.springframework.web.bind.annotation
@RequestMapping("请求url")
 @RequestMapping(value = "/add-new",method = RequestMethod.POST/GET)
@PostMapping("Post请求ur")
@GetMapping("Get请求ur")
    
@Controller 负责接收控制请求 有这个注解才能让SpringBoot框架运行时进入此类
    
@ResponseBody 注解的作用是将 controller 的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到 response对象的 body 区,通常用来返回 JSON 数据或者是 XML 数据。
(注意: @ResponseBody一般在异步获取数据时使用【也就是AJAX】,在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。)

@RestController 此注解为@Controller+@ResponseBody
    
@RequestBody 用于将请求体中的数据绑定到方法的形参中,该注解用在方法的形参上。
(注意: @RequestBody 注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。)

  • 配置API文档注解
@Api:添加在控制器类上
    此注解的`tags`属性,可配置模块名称,可以在模块名称中使用编号,例如:`01. 品牌管理模块`,最终将按照编号升序排列

@ApiOperation:添加在控制器类中处理请求的方法上
    此注解的`value`属性,可配置业务名称

@ApiOperationSupport:添加在控制器类中处理请求的方法上
	此注解的`order`属性(`int`类型),可配置业务的排序序号,最终将升序排列

@ApiModelProperty:添加在POJO类型的属性上

  此注解的`value`属性,可配置参数名称(说明)
  此注解的`required`属性,可配置是否必须提交此参数
  此注解的`example`属性,可配置此请求参数的示例值

@ApiImplicitParam:添加在控制器类中处理请求的方法上,用于对未封装的请求参数添加说明(例如`Long id`参数)

  必须配置此注解的 name 属性,取值为方法的参数名称,表示当前注解对哪个参数进行说明
  此注解的 value 属性,可配置参数名称(说明)
  此注解的 required 属性,可配置是否必须提交此参数
  此注解的 dataType 属性,可配置参数的数据类型(例如取值为 "long" )
  此注解的 example 属性,可配置此请求参数的示例值

@ApiImplicitParams:添加在控制器类中处理请求的方法上,此注解的`value`属性是`@ApiImplicitParam`注解的数组类型,当需要使用@ApiImplicitParam:对多个未封装参数进行说明时,需要将多个`@ApiImplicitParam`注解的配置作为当前注解的参数
  • Validation框架注解

@Valid@Validated注解,用于表示此参数是需要通过Validation框架进行检查的!

(二者的不同点在于@Valid注解只能添加在参数前,@Validated还可以添加在类上用于监控方法中单个参数的值)

使用Validation框架检查数据格式时,常用的检查注解有:

  • @NotNull:不允许为null
    • 可用于任何类型的参数
  • @NotEmpty:不允许为空字符串,即长度为0的字符串
    • 仅用于检查字符串类型的参数
  • @NotBlank:不允许为空白的字符串,即仅由空格或TAB制表位或换行组成的值
    • 仅用于检查字符串类型的参数
  • @Length:限制字符串的长度
  • @Pattern:通过正则表达式检查字符串的格式,此注解的regexp属性就是定义正则表达式的属性
    • 仅用于检查字符串类型的参数
  • @Min:限制整型数值的最小值
    • 仅用于检查整型数值参数
  • @Max:限制整型数值的最大值
    • 仅用于检查整型数值参数
  • @Range:限制整型数值的取值区间,默认最小值为0,最大值为long的上限值
    • 仅用于检查整型数值参数

所有检查注解都有message属性,用于配置检查失败时的提示文本

每个被检查参数可以同时添加多个检查注解!

注意:@NotNull注解可以添加在任何类型的参数上,并且,除了@NotNull以外的所有注解在参数为null时都会是检查通过的结果,所以,许多检查规则都会同时使用@NotNull和另一个检查注解(除非你允许这个参数是null)。

**提示:**在源代码中,找到某个检查注解的import语句,按住Ctrl键点击其包名,即可看到此包下还有哪些检查注解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Mybatis SpringMVC 实战作业是一种结合了Spring框架、Mybatis框架以及SpringMVC框架的编程任务。在实战作业中,我们需要使用这三个框架实现一个完整的Web应用。 首先,我们需要使用Spring框架实现项目的基本配置和依赖注入功能。Spring框架可以帮助我们管理各个组件的生命周期和依赖关系,并提供了许多实用的特性,如AOP、事务管理等。 其次,我们需要使用Mybatis框架来简化数据库操作。Mybatis是一个持久层框架,可以通过配置文件或注解的方式,将Java对象映射到数据库中的表,并提供了丰富的查询语法和缓存机制。 最后,我们需要使用SpringMVC框架来处理Web请求和响应。SpringMVC是一个基于MVC设计模式的Web框架,可以帮助我们实现灵活的请求处理和页面跳转,还提供了对RESTful风格的支持。 在实战作业中,我们可以按照以下步骤进行操作: 1. 配置Spring框架,包括定义数据源、事务管理等。 2. 配置Mybatis框架,包括定义数据库连接信息、映射文件或注解等。 3. 创建数据库表和实体类,定义它们之间的映射关系。 4. 编写DAO接口和对应的Mapper文件或注解,实现数据库的增删改查操作。 5. 配置SpringMVC框架,包括定义Controller类、请求映射和视图解析器等。 6. 编写Controller类,处理具体的页面请求和业务逻辑。 7. 编写页面模板,实现页面的展示和用户交互效果。 通过完成该实战作业,我们可以深入理解Spring框架、Mybatis框架和SpringMVC框架的使用方法,并掌握它们在Web应用开发中的应用场景和优势。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值