1、文件上传大小限制问题
问题描述:使用application.properties配置文件上传大小限制不起作用
1 | spring.servlet.multipart.max-request-size=-1 |
解决办法:新建一个bean的配置
可以在启动类中添加如下代码
1 |
|
2、springBoot跨域请求问题
使用@CrossOrigin("*")
无法实现跨域
解决办法,在控制层使用如下注解就可以实现跨域@CrossOrigin(origins = "*",allowCredentials = "true",methods = {})
3、时区出现错误解决办法
(1)出现连接时区错误
(2)插入时间数据时出现错误
解决办法:在连接的url之后设置时间属性jdbc:mysql://127.0.0.1:3306/trainee?serverTimezone=GMT%2B8
将时区设置成北京的时区
4、接收前端返回json对象自动打包问题
需要在接收的处声明@RequestBody
才能自动装箱。声明@Valid
来验证数据。
5、log4j配置不起作用
要使用自定义的log,必须将spring boot 中自带的spring.boot.start.logging给去掉。因为logback的优先级比log4j的优先级要高。(后面测试含有logback也可以加载配置文件,玄幻)
推荐把依赖包给去掉
去除包中的依赖如下
1 | <dependency> |
如果出现下面的错误,需要检查log4j依赖是否都添加了
1 | SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". |
能够运行的依赖如下:
1 | <!--日志--> |
如果还有错误,可能需要引入common-logging.jar
6、Long 类型传到前端页面的精度丢失问题
解决办法,将Long类型转换成字符串。传给前端,前端传回去从字符串转成Long类型。可以自己写函数转换。但是有现成的轮子可以用就不必造轮子了。
使用阿里的fastjson提供的注解便可以轻松的完成工作了。
1 |
|
7、controller返回前端的数据自动转换大小写的问题
由于移植了一个net的项目到java。但是,前端的命名不规范,变量全部为大写。但是由于fastjson的自动转换,将本来是大写的的变量变成小写了。
解决办法
由于使用lombok插件,所以不能在get方法上使用@JsonPropertty
注解。使用在属性上有一样的效果。
1
2
3
private String Name;
返回前端的数据就变成了Name而不是name
8、mybatis-plus忽视某些实体字段。不对数据库进行映射。
在字段上使用@TableField(exist = false)
来忽视该字段对数据库的映射。
9、mybatis-plus 字符串非空更新失败
问题描述:字符串类型非空更新失败,像密码、邮箱这些作为字符串存储。只是更新其中一部分,会导致没有值的字段更新为空。
解决办法
给字段设置更新策略updateStategy = FieldStrategy.NOT_EMPTY
。只是对字符起作用,其它的类型会使用updateStategy = FieldStrategy.NOT_NULL