使用Kaptcha组件时,加入了maven依赖,使用Kaptcha
的Producer
时进行了以下注入,但在项目启动时一直报组件缺失。
@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;
}
}