Jak działa adnotacja Wicket's @SpringBean
? Czy używa refleksji w czasie wykonywania? Czy powoduje to, że kompilator wprowadza jakiś kod? Albo co?Jak działa adnotacja Wicket's @SpringBean?
Odpowiedz
Spring używa modułu ładującego klasy i ASM w czasie wykonywania, aby znaleźć wszystkie przypisane klasy.
Można configure gdzie sprężyna powinna szukać ziaren:
<context:component-scan base-package="some.package.to.start.from"/>
używa ClassPathBeanDefinitionScanner wewnętrznie który użyje PathMatchingResourcePatternResolver znaleźć klas i ASM oparte MetadataReader czytać adnotacje.
Ten mechanizm nie ma jednak nic wspólnego z '@ SpringBean', który jest konstruktem Wicket, a nie Spring. – skaffman
Nigdy nie korzystałem z Wicket. Myślałem, że miał na myśli adnotacje @Component itd. Dobrze wiedzieć. –
@SpringBean
działa przy użyciu usługi Wicket's underlying Injector mechanism. Kiedy tworzysz komponent Wicket, konstruktor klasy bazowej składnika Wicket introspekuje instancję klasy, szukając adnotacji @SpringBean
. Jeśli zostanie znaleziony komponent bean, to funkcja generuje proxy dla komponentu bean sprężystej i wprowadza go do pola składnika. Jest to odpowiednik Wicket's z adnotacji Spring @Autowired
, efekt jest podobny.
Nie ma to jednak nic wspólnego z funkcją kontekstowego skanowania wiosennego/ścieżki klasy (np. @Component
), która polega na automatycznym wykrywaniu tego, co jest i nie jest fasolą, a raczej ma coś wspólnego z okablowanie.
Aby skorzystać z tej funkcji, wystarczy dodać moduł nasłuchujący SpringComponentInjector do aplikacji Wicket, aby móc wysłuchać wystąpień komponentów. – Matt
Klasa oznaczone @SpringBean adnotacją musi mieć jedno z następujących:
- jest zastosowanie argumentów konstruktora
- nadrzędnej z nie-args konstruktora
- zaimplementowania interfejsu
Wyjątek zostanie zgłoszony, jeśli te warunki nie zostaną spełnione, ponieważ Wicket nie będzie mógł pełnić roli przedstawiciela klasy.
to przydatne informacje, ale nie jest to odpowiedź na to pytanie. może lepiej jako komentarz zadać pytanie lub inną odpowiedź. –
- 1. Czy istnieje adnotacja? Jak działa biblioteka? (Java)
- 2. Adnotacja komponentów JSF 2 nie działa
- 3. @WebServlet adnotacja nie działa z Tomcat 8
- 4. Adnotacja kontrolera Spring CORS nie działa
- 5. W jaki sposób adnotacja @Index działa w JPA 2.1?
- 6. @Transactional adnotacja
- 7. Adnotacja udostępnić generyczny typ
- 8. Adnotacja Spring @ Transactional nie działa z automatycznym okablowaniem?
- 9. Zaktualizowany do EF5 teraz NotMapped adnotacja nie działa
- 10. Adnotacja oparta ServiceLocatorFactoryBean?
- 11. Intellij Adnotacja Opcja wyszarzona
- 12. Adnotacja który wywołuje metodę
- 13. Ignoruj Hibernate @Where adnotacja
- 14. @IdClass JPA Adnotacja
- 15. @WebServlet adnotacja i GWT RPC
- 16. agregacja django lub adnotacja
- 17. Adnotacja sprawdzania hibernacji
- 18. Dziedziczenie wiosny - Adnotacja
- 19. @ Adnotacja modelu i MVC
- 20. Polityka Adnotacja SOURCE retencji
- 21. Scala Adnotacja Dziedziczenie
- 22. Adnotacja EnableWebMvc oznaczająca
- 23. Adnotacja ActiveAndroid ORM
- 24. Adnotacja nazywa THREADSAFE
- 25. Wiosna wartość Zakres adnotacja
- 26. @Cache adnotacja błąd Wykorzystanie
- 27. Jak utworzyć złożony klucz podstawowy (adnotacja java)
- 28. wyliczenia i Android adnotacja intDef
- 29. Adnotacja wartości wiosennej 3.2 z czystą konfiguracją java nie działa, ale Environment.getProperty działa
- 30. Adnotacja Java i dynamiczne ładowanie
Brak adnotacji "@ SpringBean" w Spring API. Jest jeden w Wicket, ale czy to właśnie używasz? – skaffman
Ah, nie wiedziałem tego - tak, używam Wicket. Zmienię to pytanie i tagi, aby to odzwierciedlić. Dzięki. – Tarquila
@Tarquila - Myślę, że łatwiej jest rozwiązać to pytanie na wiosnę. I dodaj nową dla Wicket. –