Java Gradle 依赖注入错误:'com.acpiot.cps.security.authentication.JwtAccessDeniedHandler' 无法找到
在使用 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' 的实例。常见原因和解决方法如下:
-
依赖模块未正确添加:
确保 'module-security' 模块已正确添加到 Gradle 项目依赖中。可以在 'settings.gradle' 文件中添加以下代码:
include ':module-security' -
类未标记为 Spring Bean:
'JwtAccessDeniedHandler' 类需要被标记为 Spring Bean,以便 Spring 能够自动创建该实例。在 'JwtAccessDeniedHandler' 类上添加
@Component或@Service注解:@Component public class JwtAccessDeniedHandler { ... } -
手动创建 Bean 实例:
如果以上方法无效,可以在 Spring 配置类中手动创建 'JwtAccessDeniedHandler' 的实例:
@Configuration public class SecurityConfig { @Bean public JwtAccessDeniedHandler jwtAccessDeniedHandler() { return new JwtAccessDeniedHandler(); } }
通过以上方法,你应该能够解决 'JwtAccessDeniedHandler' 无法找到的错误。
原文地址: https://www.cveoy.top/t/topic/oZmv 著作权归作者所有。请勿转载和采集!