编辑
2023-03-14
实用工具
00

前提

很多时候程序出现的异常并不是,我们在enum里定义好的那些,大部分是程序运行时的异常,为了返回值的统一性,我们需要对那些突然出现异常进行操作

代码

java
package com.lhw.management.config; import com.lhw.common.Result; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; /** * 描述:拦截Controller方法的返回值,统一处理返回值/响应体 * @author lihaowei */ @RestControllerAdvice(basePackages = {"com.ewell.medai.connotation.qc.management.controller"}) public class ResultAdvice implements ResponseBodyAdvice<Object> { @Autowired private ObjectMapper objectMapper; @Override public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) { return true; } @SneakyThrows @Override public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) { if(o instanceof String){ return objectMapper.writeValueAsString(Result.success(o)); } if(o instanceof Result){ return o; } return Result.success(o); } }
编辑
2023-03-13
遇到的问题
00

程序运行异常

用一个类出现同一个类报cannot be cast to,不能强制转换,服务器错误500

java
java.xxxx.xxxx cannot be cast to java.xxxx.xxxx

处理方法

可能是SpringBoot热部署的问题,导致虽然是同一个类但是由于是不同的类加载器加载导致,他们是不同的从而转换异常

pom文件中注释掉热部署的依赖

xml
<!-- <dependency>--> <!-- <groupId>org.springframework.boot</groupId>--> <!-- <artifactId>spring-boot-devtools</artifactId>--> <!-- <optional>true</optional>--> <!-- </dependency>-->
编辑
2023-03-13
实用工具
00

搭建新的项目时都需要设置统一的响应类(Result)

首先设置一个枚举类Enum

放置常用的一些响应信息

java
public enum ResultCodeEnum { ERROR(100, "系统错误"), SUCCESS(200, "操作成功"), FAILED(500, "操作失败"); VALIDATE_FAILED(404, "参数检验失败"), UNAUTHORIZED(401, "暂未登录或token已经过期"), FORBIDDEN(403, "没有相关权限"); // 自定义状态码 private final int code; // 自定义描述 private final String msg; ReturnCode(int code, String msg){ this.code = code; this.msg = msg; } public int getCode() { return code; } public String getMsg() { return msg; } }
编辑
2023-03-12
实用工具
00

maven下载配置成国内镜像提高下载速度

配置地址:

文件路径:D:\maven\apache-maven-3.6.0\conf\settings.xml

修改jar包下载地址

xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository --> <localRepository>D:\maven\repository</localRepository>

image.png

编辑
2023-03-12
遇到的问题
00

新安装的plsql链接远程数据库一直链接不上

提示身份证明检索失败

image.png

解决方法

  • 第一种: 找到Oracle的安装目录下的sqlnet.ora文件 如果存在SQLNET.AUTHENTICATION_SERVICES= (NTS)设置,则修改为:SQLNET.AUTHENTICATION_SERVICES= (NONE),

如果不存在,则直接添加SQLNET.AUTHENTICATION_SERVICES= (NONE)

  • 第二种: 点击:开始 -> 程序 -> Oracle ->配置和移植工具 -> Net Manager 通过oracle自带的管理工具移除nts验证