Ich verstehe nicht, wie die Verknüpfung SpringBootApplication funktioniert. Insbesondere verstehe ich nicht, wie die einzelnen Sub-Annotationen wie @ComponentScan und @EnableAutoConfiguration an die eigentliche Anwendungsklasse übergeben werden, als ob sie explizit dort geschrieben wären. Ich habe die Quellcode-Basis von Spring Boot für SpringBootApplication gesucht und erwartet, dass Code angezeigt wird, der nach der Zeichenfolge "SpringBootApplication" sucht, bevor er diese einzelnen Anmerkungen anwendet, aber keine sieht. Kann jemand das erklären? Vielen Dank.Wie funktioniert @SpringBootApplication tatsächlich im Spring Boot?
Antwort
Die Annotation @SpringBootApplication
ist eine Annotation, die ua mit den von Ihnen erwähnten Annotationen @ComponentScan
und @EnableAutoConfiguration
versehen ist. Anstatt nach @SpringBootApplication
zu scannen, sucht Spring intern nach diesen (impliziten) Annotationen und tut dies entsprechend.
Ich sehe. Können Sie mich auf den Code verweisen, der nach diesen impliziten Anmerkungen sucht? Ich bin neugierig. Vielen Dank. –
Oder irgendeine Dokumentation dazu? –
http://www.journaldev.com/7989/key-components-and-internals-of-spring-boot-framework
Und auch Frühling Stiefel reduziert die Definition von Annotation-Konfiguration. Wenn wir die Annotation @SpringBootApplication auf Klassenebene verwenden, fügt Spring Boot AutoConfigurator automatisch alle erforderlichen Annotationen dem Java Class ByteCode hinzu.
==> eigentlich kann ich nicht den Code in Spring Boot-Autokonfig finden, die dies tut.
- 1. @SpringBootApplication im gleichen Paket?
- 2. Filterbestellung im Spring-Boot
- 3. Konfiguration mit Annotation @SpringBootApplication
- 4. Unable, um @EnableAutoConfiguration oder @SpringBootApplication im Spring-Boot (Eclipse) zu finden
- 5. @EnableTransactionManagement im Spring Boot
- 6. Spring boot @Autowired funktioniert nicht im Servlet für den Serverstart
- 7. run Prozess im Hintergrund mit Spring Boot
- 8. spring.profiles funktioniert nicht wie erwartet im Spring Boot
- 9. Wie erstellt man Protokolldateien im Spring Boot?
- 10. @RefreshScope funktioniert nicht - Spring Boot
- 11. Scala Spring Boot Autowiring funktioniert nicht
- 12. Wie zu JUnit Test Spring-Boot-Anwendung.java
- 13. Globale Methodensicherheit im Spring Boot
- 14. logging.level.root funktioniert nicht (Spring Boot)
- 15. Spring Boot setContentType funktioniert nicht
- 16. Spring Boot JMS-Thema funktioniert nicht
- 17. Wie funktioniert Spring Boot mit statischem Inhalt?
- 18. @SpringBootApplication von JUnit Testdatei
- 19. Spring boot - cors funktioniert nicht
- 20. Spring Boot benutzerdefinierte HttpMessageConverter
- 21. Deaktivieren der eingebetteten Elasticsearch im Spring Boot-Test
- 22. Understanding Spring Boot @Autowired
- 23. Grundlegende Controller-Konfiguration Funktioniert nicht im Spring Boot
- 24. Spring Boot @EnableScheduling bedingt
- 25. AngularJs UI-Router funktioniert nicht im Spring Boot
- 26. So registrieren Sie den ServletContextListener im Spring Boot
- 27. Spring Boot - Transaction Management funktioniert nicht
- 28. Wie in Spring-Boot-
- 29. Wohin mit @Bean Spring Boot?
- 30. Liberty Spring Boot und Spring Boot
Siehe auch http://stackoverflow.com/questions/18189980/how-do-annotations-work-internally/18202623#18202623 – chrylis
Danke, Chrylis. Ich suche jetzt im Frühjahr nach dem Code, der die Anmerkungen oben auf der Anmerkung nachschlägt und die Verarbeitung durchführt. –
Möglicherweise suchen Sie nach den verschiedenen Annotation Postprozessoren. – chrylis