From 47e8fc9ae8e0153e5aabb836322c86a3fdc403a2 Mon Sep 17 00:00:00 2001 From: D <3066417822@qq.com> Date: Mon, 20 Nov 2023 13:52:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8ERuoyi-SpringBoot3=E5=81=9A=E5=85=BC?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 38 +++++++--------- ruoyi-admin/pom.xml | 6 +++ .../ruoyi/framework/config/DruidConfig.java | 43 +++++++------------ .../framework/config/SecurityConfig.java | 3 +- .../properties/PermitAllUrlProperties.java | 10 +++-- 5 files changed, 46 insertions(+), 54 deletions(-) diff --git a/pom.xml b/pom.xml index 931343d..3efa506 100644 --- a/pom.xml +++ b/pom.xml @@ -10,12 +10,6 @@ ruoyi http://www.ruoyi.vip 若依管理系统 - - org.springframework.boot - spring-boot-starter-parent - 3.0.0 - - 3.8.5.3 @@ -36,18 +30,21 @@ 2.3 0.9.1 4.3.0 + 3.0.2 - - - - - - + + + org.springframework.boot + spring-boot-dependencies + 3.1.5 + pom + import + javax.xml.bind @@ -55,20 +52,11 @@ 2.3.1 - - - - - - - - - com.mysql mysql-connector-j - 8.0.33 + 8.1.0 runtime @@ -197,6 +185,12 @@ ${ruoyi.version} + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + + com.github.xiaoymin diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 9d68248..0747740 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -15,6 +15,12 @@ + + + diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java index c46da89..ea06a4e 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java @@ -30,8 +30,7 @@ import com.ruoyi.framework.datasource.DynamicDataSource; * @author ruoyi */ @Configuration -public class DruidConfig -{ +public class DruidConfig { @Bean public DruidStatProperties druidStatProperties() { return new DruidStatProperties(); @@ -39,8 +38,7 @@ public class DruidConfig @Bean @ConfigurationProperties("spring.datasource.druid.master") - public DataSource masterDataSource(DruidProperties druidProperties) - { + public DataSource masterDataSource(DruidProperties druidProperties) { DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); return druidProperties.dataSource(dataSource); } @@ -48,16 +46,14 @@ public class DruidConfig @Bean @ConfigurationProperties("spring.datasource.druid.slave") @ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true") - public DataSource slaveDataSource(DruidProperties druidProperties) - { + public DataSource slaveDataSource(DruidProperties druidProperties) { DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); return druidProperties.dataSource(dataSource); } @Bean(name = "dynamicDataSource") @Primary - public DynamicDataSource dataSource(DataSource masterDataSource) - { + public DynamicDataSource dataSource(DataSource masterDataSource) { Map targetDataSources = new HashMap<>(); targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource); setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource"); @@ -68,18 +64,14 @@ public class DruidConfig * 设置数据源 * * @param targetDataSources 备选数据源集合 - * @param sourceName 数据源名称 - * @param beanName bean名称 + * @param sourceName 数据源名称 + * @param beanName bean名称 */ - public void setDataSource(Map targetDataSources, String sourceName, String beanName) - { - try - { + public void setDataSource(Map targetDataSources, String sourceName, String beanName) { + try { DataSource dataSource = SpringUtils.getBean(beanName); targetDataSources.put(sourceName, dataSource); - } - catch (Exception e) - { + } catch (Exception e) { } } @@ -89,8 +81,7 @@ public class DruidConfig @SuppressWarnings({ "rawtypes", "unchecked" }) @Bean @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true") - public FilterRegistrationBean removeDruidFilterRegistrationBean(DruidStatProperties properties) - { + public FilterRegistrationBean removeDruidFilterRegistrationBean(DruidStatProperties properties) { // 获取web监控页面的参数 DruidStatProperties.StatViewServlet config = properties.getStatViewServlet(); // 提取common.js的配置路径 @@ -98,16 +89,14 @@ public class DruidConfig String commonJsPattern = pattern.replaceAll("\\*", "js/common.js"); final String filePath = "support/http/resources/js/common.js"; // 创建filter进行过滤 - Filter filter = new Filter() - { + Filter filter = new Filter() { @Override - public void init(jakarta.servlet.FilterConfig filterConfig) throws ServletException - { + public void init(jakarta.servlet.FilterConfig filterConfig) throws ServletException { } + @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException - { + throws IOException, ServletException { chain.doFilter(request, response); // 重置缓冲区,响应头不会被重置 response.resetBuffer(); @@ -118,9 +107,9 @@ public class DruidConfig text = text.replaceAll("powered.*?shrek.wang", ""); response.getWriter().write(text); } + @Override - public void destroy() - { + public void destroy() { } }; FilterRegistrationBean registrationBean = new FilterRegistrationBean(); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 125c961..a06ee00 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -1,6 +1,7 @@ package com.ruoyi.framework.config; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; @@ -26,7 +27,7 @@ import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl; * * @author ruoyi */ -@EnableMethodSecurity(prePostEnabled = true, securedEnabled = true) +@EnableMethodSecurity(prePostEnabled = true, securedEnabled = true) @Configuration public class SecurityConfig { /** diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java index 29118fa..ccd0a35 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java @@ -45,13 +45,15 @@ public class PermitAllUrlProperties implements InitializingBean, ApplicationCont // 获取方法上边的注解 替代path variable 为 * Anonymous method = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class); - Optional.ofNullable(method).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns()) - .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK)))); + Optional.ofNullable(method) + .ifPresent(anonymous -> Objects.requireNonNull(info.getPathPatternsCondition().getPatternValues()) // + .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK)))); // 获取类上边的注解, 替代path variable 为 * Anonymous controller = AnnotationUtils.findAnnotation(handlerMethod.getBeanType(), Anonymous.class); - Optional.ofNullable(controller).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns()) - .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK)))); + Optional.ofNullable(controller) + .ifPresent(anonymous -> Objects.requireNonNull(info.getPathPatternsCondition().getPatternValues()) + .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK)))); }); }