解决使用Kaptcha报组件缺失的问题

使用Kaptcha组件时,加入了maven依赖,使用KaptchaProducer时进行了以下注入,但在项目启动时一直报组件缺失。

@Autowired
private Producer producer

public void initCaptcha(HttpServletResponse response) {
	...
}

报错示例:

**************************
APPLICATION FAILED TO START
***************************
Description:
A component required a bean of type 'com.google.code.kaptcha.Producer' that could not be found.

Action:
Consider defining a bean of type 'com.google.code.kaptcha.Producer' in your configuration.

报错原因:
原因如以上的提示所说,
Consider defining a bean of type 'com.google.code.kaptcha.Producer' in your configuration,缺少了Kaptcha的配置Bean

解决方法:
添加缺失的Bean,示例如下:

@Configuration
public class KaptchaConfig {
    @Bean
    public DefaultKaptcha producer() {
        Properties properties = new Properties();
        properties.put("xxxx", "xxx");
        ...
        Config config = new Config(properties);
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    }
}

你可能感兴趣的:(基本技巧,maven)