关于几个BUG的问题解决
2022/11/15 02:07
1: 所有的pojo
类必须实现序列化接口(冗余)
所有的
pojo
包下的类(包括dto
、entity
、vo
)必须实现序列化接口Serializable
,否则在后期的使用过程中会出现问题,例如在使用SQLSession
的二级缓存时,若没有实现序列化接口,则会导致异常
2: JsonResult
类必须添加@Data
注解(冗余)
JsonResult
(Json
格式的response
)必须添加@Data
注解,否则在实际应用过程中会抛出:HttpMediaTypeNotAcceptableException
异常,描述信息为:
Could not find acceptable representation
找不到可接受的代理
- 据说在
VSCode
中不需要添加,因为默认支持,未经证实,大家可以测试一下
3: 在多个model
下,使用全局异常处理需要添加配置类(废弃,可参考)
假设有三个
model
,分别为:common > com.t.common
、service > cn.test.abc
,其中com.t.common
内有包ex
,在ex
下分别有customException.class
和handler.GlobalExceptionHandler.class
,如果想要在cn.test.abc
中使用,可以有如下解决方式:1、在
service
的pom.xml
中应该有如下代码:<modules> <module>abc的模块名</module> <module>../common/com.t.common的模块名</module> </modules>
2、在
abc
的根包下创建config.ExceptionHandlerConfiguration.class
3、在class上添加注解如下:
@Configuration @ComponentScan(basePackages = "ex") public class ExceptionHandlerConfiguration { }
其中
ex
代表的是全局异常处理的Reference Name
,以IDEA
为例,获取方法为:右键
ex
包 --> Copy Path/Reference -->Copy Reference4、以上步骤完成后即可使用全局异常(在使用时可能会要求导包,按要求执行即可)
- 该方法未经证实在任何环境下都有效,也未经证实所有步骤都是必要步骤 ! ! !
4: 关于多model
下部分pom
异常的解决(废弃,可部分引用)
个人测试所见异常信息:
Could not find artifact org.springframework.boot:spring-boot-starter-validation:pom:unknown in ali (https://maven.aliyun.com/repository/public/)
Invalid packaging for parent POM com.app:online_reg:0.0.1-SNAPSHOT, must be "pom" but is "jar"
Unresolved dependency:validation:jar:unknown'
Unresolved dependency: 'org.springframework.boot:spring-boot-starter-validation:jar:unknown'
解决办法:
1、在父
model
的pom.xml
中添加dependency
后,在parent
标签下(标签外)添加如下标签:<packaging>pom</packaging>
2、将在添加的
dependency
中,添加一行<type>pom</type>
3、在子
model
的pom.xml
中按照同样步骤执行,区别在于:packaging
和type
标签内的pom
改为了jar
Date:2022/11/15 2:54
Author:Evan.LJ