You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java登录模块启动失败:PasswordEncoder Bean注入异常求助

解决PasswordEncoder Bean缺失问题

你的应用启动失败核心原因是:Spring容器中未注册org.springframework.security.crypto.password.PasswordEncoder类型的Bean,但AuthController通过@Autowired(required=true)强制要求注入该Bean,导致依赖无法满足。

直接解决方案是创建一个Spring配置类,定义PasswordEncoder的Bean:

package com.portfolio.anamorujaportfolio.Security.Config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

@Configuration
public class SecurityConfig {

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}

关键说明:

  • @Configuration标记该类为Spring配置类,容器会自动扫描并加载其中的Bean定义
  • BCryptPasswordEncoder是Spring Security官方推荐的密码加密实现,自带加盐逻辑,安全性更高
  • 该Bean定义完成后,Spring会自动将其注入到AuthController的passwordEncoder字段中,满足依赖注入要求

如果你已有Spring Security相关的配置类(比如继承WebSecurityConfigurerAdapter的类),也可以将passwordEncoder()方法直接放在该类中,效果一致。

添加配置类后重新启动应用,即可正常启动并在Postman中测试登录、注册接口。

内容的提问来源于stack exchange,提问作者ana mornig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 02:01:10