我有一个Singleton课程:
@Singleton
public class CacheManager {
...
}
在我的控制器中,我想注入这个Singleton:
@Controller
@RequestMapping("/myRequest.do")
public class ListeSinistresController extends AFoaGanController {
@Autowired
private CacheManager cacheManager;
...
}
部署时出现以下错误:
<2 juin 2015 14 h 31 CEST> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'listeSinistresController': Injection of autowired dependencies failed;
nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.blabla.cache.CacheManager
com.blabla.web.controller.personne.ListeSinistresController.cacheManager; nested exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.blabla.cache.CacheManager] found for dependency:
expected at least 1 bean which qualifies as autowire candidate for this dependency.
我尝试用@Inject
- @Authowired
- @EJB
注入我的单身人士,但没有任何效果。
这样做的方法是什么?
答案 0 :(得分:0)
Singleton的包导入是什么?您可以尝试@Component
注释吗? (提示:默认情况下,所有spring bean都是单例,如果没有明确配置为prototype
)。
如果以上操作无效,还会显示您的应用程序配置。然后包扫描可能不正确。
你必须使用@Autowired
和spring,这是正确的。