在使用 Java Gradle 项目并引入 Spring Boot 时,你可能遇到以下错误:

'Parameter 0 of constructor in com.acpiot.cps.miniprogram.config.SecurityConfig required a bean of type 'com.acpiot.cps.security.authentication.JwtAccessDeniedHandler' that could not be found.'

这个错误表明 Spring 无法找到 'JwtAccessDeniedHandler' 的实例。常见原因和解决方法如下:

  1. 依赖模块未正确添加

    确保 'module-security' 模块已正确添加到 Gradle 项目依赖中。可以在 'settings.gradle' 文件中添加以下代码:

    include ':module-security'
    
  2. 类未标记为 Spring Bean

    'JwtAccessDeniedHandler' 类需要被标记为 Spring Bean,以便 Spring 能够自动创建该实例。在 'JwtAccessDeniedHandler' 类上添加 @Component@Service 注解:

    @Component
    public class JwtAccessDeniedHandler { ... }
    
  3. 手动创建 Bean 实例

    如果以上方法无效,可以在 Spring 配置类中手动创建 'JwtAccessDeniedHandler' 的实例:

    @Configuration
    public class SecurityConfig {
        @Bean
        public JwtAccessDeniedHandler jwtAccessDeniedHandler() {
            return new JwtAccessDeniedHandler();
        }
    }
    

通过以上方法,你应该能够解决 'JwtAccessDeniedHandler' 无法找到的错误。

Java Gradle 依赖注入错误:'com.acpiot.cps.security.authentication.JwtAccessDeniedHandler' 无法找到

原文地址: https://www.cveoy.top/t/topic/oZmv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录