2020-2-16

springMVC

@DateTimeFormat注解

public ModelAndView addUser(String name,int age,@DateTimeFormat(pattern = "yyyy-MM-dd") Date birthday) {

这里还可以将日期转换为LocalDate类型,不过需要注意的是,如果你要将日期转换为LocalDate类型,那么需要将这个属性写到javabean里面

@DateTimeFormat(pattern = "yyyy-MM-dd")

private LocalDate birthday;

数据校验

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-validator</artifactId>
   <version>6.0.9.Final</version>
</dependency>

Hibernate Validator 中常用的验证注解

  • @AssertFalse 验证注解的元素值是 false
  • @AssertTrue 验证注解的元素值是 true
  • @DecimalMax(value=x) 验证注解的元素值小于等于指定的十进制value 值
  • @DecimalMin(value=x) 验证注解的元素值大于等于指定的十进制value 值
  • @Digits(integer=整数位数, fraction=小数位数)验证注解的元素值的整数位数和小数位数上限
  • @Future 验证注解的元素值(日期类型)比当前时间晚
  • @Max(value=x) 验证注解的元素值小于等于指定的 value值
  • @Min(value=x) 验证注解的元素值大于等于指定的 value值
  • @NotNull 验证注解的元素值不是 null
  • @Null 验证注解的元素值是 null
  • @Past 验证注解的元素值(日期类型)比当前时间早
  • @Pattern(regex=正则表达式) 验证注解的元素值不指定的正则表达式匹配
  • @Size(min=最小值, max=最大值) 验证注解的元素值的在 min 和 max (包含)指定区间之内,如字符长度、集合大小
  • @Valid 该注解主要用于字段为一个包含其他对象的集合或map或数组的字段,或该字段直接为一个其他对象的引用,这样在检查当前对象的同时也会检查该字段所引用的对象。
  • @NotEmpty 验证注解的元素值不为 null 且不为空(字符串长度不为 0、集合大小不为 0)
  • @Range(min=最小值, max=最大值)验证注解的元素值在最小值和最大值之间
  • @NotBlank 验证注解的元素值不为空(不为 null、去
  • 除首位空格后长度为 0),不同于@NotEmpty, @NotBlank 只应用于字符串且在比较时会去除字符串的空格
  • @Length(min=下限, max=上限) 验证注解的元素值长度在 min 和 max 区间内
  • @Email 验证注解的元素值是 Email,也可以通过正则表达式和 flag 指定自定义的 email 格式
 //不能将@Validated 注解在String类型和基本类型的形参前。
 //BindingResult参数可以获取到所有验证异常的信息
 public ModelAndView register(@Validated User user, BindingResult br) {

上传文件

MultipartFile本身是一个接口,里面提供了一些文件上传的操作的方法:

  • getOriginalFilename()
    获得文件名
  • isEmpty()
    判断是否上传了文件,如果没有选择文件上传的话,此时结果为true
  • getContentType()
    获得上传文件的文件类型
  • transferTo(File file)
    将文件上传至指定目录中
  • getName()
    获取表单中input的name值
  • getBytes()
    获取上传文件的byte数组
  • getInputStream()
    获取上传文件的InputStream对象

java基础

重载

函数的参数列表不同(数目,顺序、形参类型)

File

  • public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实-例。

  • public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。

  • public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。

API中说明:length(),表示文件的长度。但是File对象表示目录,则返回值未指定。

FileOutputStream类

  • public FileOutputStream(File file) :创建文件输出流以写入由指定的 File对象表示的文件。 public
  • FileOutputStream(String name) : 创建文件输出流以指定的名称写入文件。
  • public FileOutputStream(File file, boolean append) : 创建文件输出流以写入由指定的 File对象表示的 文件。
  • public FileOutputStream(String name, boolean append) : 创建文件输出流以指定的名称写入文件。

写出换行

Windows系统里,换行符号是 \r\n,fos.write("\r\n".getBytes());

FileInputStream

  • FileInputStream(File file) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系 统中的 File对象 file命名。

  • FileInputStream(String name) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件 系统中的路径名 name命名。

FileReader

  • FileReader(File file) : 创建一个新的 FileReader ,给定要读取的File对象。
  • FileReader(String fileName) : 创建一个新的 FileReader ,给定要读取的文件的名称

FileWriter

  • FileWriter(File file) : 创建一个新的 FileWriter,给定要读取的File对象。

  • FileWriter(String fileName) : 创建一个新的 FileWriter,给定要读取的文件的名称。

Properties类

  • public Object setProperty(String key, String value) : 保存一对属性。 public String
  • getProperty(String key) :使用此属性列表中指定的键搜索属性值。 public Set
  • stringPropertyNames() :所有键的名称的集合。

与流相关的方法 public void load(InputStream inStream) : 从字节输入流中读取键值对

posted @ 2020-02-16 22:28  一起学编程  阅读(113)  评论(0编辑  收藏  举报