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对象表示的文件。 publicFileOutputStream(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 StringgetProperty(String key)
:使用此属性列表中指定的键搜索属性值。 public SetstringPropertyNames()
:所有键的名称的集合。
与流相关的方法 public void load(InputStream inStream)
: 从字节输入流中读取键值对