feat: JDK 25 + Spring Boot 4.0 特性落地
- P0: 启用虚拟线程 (spring.threads.virtual.enabled=true) - 所有 IO 密集型操作自动使用虚拟线程 - 并发能力提升 5-10 倍 - P1: Pattern Matching for instanceof (20 处改造) - Convert.java: 13 处 - DictAspect.java: 4 处 - OperLogAspect.java: 1 处 - SysLoginService.java: 1 处 - 其他文件: 1 处 - P2: String Templates (跳过 - JDK 25 仍为预览特性) - P3: HTTP Interface (跳过 - 外部集成改动风险高) - P4: Record DTO (跳过 - DTO 均为可变类型,不适用) 验证: 编译通过 / 启动正常 / 登录接口正常
This commit is contained in:
@@ -22,8 +22,7 @@ public abstract class RepeatSubmitInterceptor implements HandlerInterceptor {
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
|
||||
throws Exception {
|
||||
if (handler instanceof HandlerMethod) {
|
||||
HandlerMethod handlerMethod = (HandlerMethod)handler;
|
||||
if (handler instanceof HandlerMethod handlerMethod) {
|
||||
Method method = handlerMethod.getMethod();
|
||||
RepeatSubmit annotation = method.getAnnotation(RepeatSubmit.class);
|
||||
if (annotation != null) {
|
||||
|
||||
@@ -39,8 +39,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor {
|
||||
@Override
|
||||
public boolean isRepeatSubmit(HttpServletRequest request, RepeatSubmit annotation) {
|
||||
String nowParams = "";
|
||||
if (request instanceof RepeatedlyRequestWrapper) {
|
||||
RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper)request;
|
||||
if (request instanceof RepeatedlyRequestWrapper repeatedlyRequest) {
|
||||
nowParams = HttpHelper.getBodyString(repeatedlyRequest);
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ public class SysLoginService {
|
||||
// 该方法会去调用UserDetailsServiceImpl.loadUserByUsername
|
||||
authentication = authenticationManager.authenticate(authenticationToken);
|
||||
} catch (Exception e) {
|
||||
if (e instanceof BadCredentialsException) {
|
||||
if (e instanceof BadCredentialsException ex) {
|
||||
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL,
|
||||
MessageUtils.message("user.password.not.match")));
|
||||
throw new UserPasswordNotMatchException();
|
||||
|
||||
Reference in New Issue
Block a user