I mają problemy z tym Autowire:Wiosna oczekuje przynajmniej jeden fasoli, które kwalifikuje się jako autowire kandydata do tej zależności
@Controller
public class ChiusuraController {
@Autowired
private ChiusuraProvider chiusuraProvider;
}
ten Bean
@Service @Transactional
public class ChiusuraProvider extends ThreadProvider {
public void run() {}
}
który rozciąga
public abstract class ThreadProvider extends Thread implements InitializingBean, Runnable, DisposableBean {
...
}
Otrzymuję ten błąd:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'chiusuraController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.cinebot.service.ChiusuraProvider com.cinebot.web.controller.ChiusuraController.chiusuraProvider; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.cinebot.service.ChiusuraProvider] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
Widziałem, że nie dostałem tego błędu, jeśli usunęło rozszerza ThreadProvider z klasy autowired, ale naprawdę potrzebuję klasy abstrakcyjnej ThreadProvider.
Co się stanie, jeśli moja klasa implementuje wiele interfejsów? – user1050619
Czekaj ... po prostu uratowałeś mi życie. Użyłem wersji adnotacji @EnableAspectJAutoProxy (proxyTargetClass = true). Dziękuję Ci! –