Ich habe eine Schnittstelle sagen A, und fünf Implementierungen dafür A1, A2, A3, A4, A5 in dem gleichen Paket. Jetzt, wenn ich die Federanlegung starte, möchte ich je nach Autowirkung nur noch A1 A1, A2, A3, A4, A5 laden. Ich möchte nicht andere laden, da es die Anwendung schwer macht, wenn es viele Klassen wie diese gibt. Bitte erläutern Sie die mögliche Antwort.So laden Sie nur ausgewählte Klassen oder Beans in Spring
0
A
Antwort
1
@Qualifier
Angenommen, Sie folgenden Zusammenhang haben:
<bean id="a1_beanId" class="com.A1" >
</bean>
<bean id="a2_beanId" class="com.A2" >
</bean>
Sie haben qualifier zu verwenden A
Schnittstelle mit der richtigen Realisierung autowire. Das Autowiren geschieht dann durch bean id
.
@Autowired
@Qualifier("a1_beanId")
private A yourA1Bean;
@Lazy
Um zu verhindern, Bohnen Kontext zum Frühling geladen Sie auf lazy mode mit Annotations @Lazy
oder lazy-init="true"
für xml config wechseln.
A träge initialisierten Bohne zeigt die IoC-Container, ob keine Bean-Instanz beim Start erstellt werden soll oder wenn es zuerst ist angefordert.
Verwandte Themen
- 1. So laden Sie Eigenschaften mit Spring?
- 2. So erhalten Sie nur ausgewählte Verzeichnisnamen
- 3. Zugriff auf Domänenklassen oder Spring Beans von Kamelrouten in Grails
- 4. Nur ausgewählte Restendpunkte authentifizieren: Spring Boot
- 5. So rendern Sie nur ausgewählte Achsenbeschriftungen in ios-Diagrammen
- 6. Laden Sie nur, welche Klassen in Ruby verwendet werden?
- 7. So laden oder kopieren Sie ausgewählte Spaltendaten von einem Blatt in ein anderes Blatt
- 8. Spring integrierte Replikationsunterstützung für session-scoped Beans?
- 9. Verschieben von JSF Managed Beans zu Spring Beans
- 10. Spring multiple @Configuration Klassen
- 11. So exportieren Sie nur ausgewählte Spalten mit columnToggler
- 12. Bedingte Abhängigkeit zwischen Beans im Spring-Kontext
- 13. Welchen Vorrang haben Spring Beans Definitionen?
- 14. Spring 3.1 Session Scoped Beans für Cache
- 15. So speichern Sie ausgewählte Elemente in Pref
- 16. Spring Beans für JDBC funktioniert nicht
- 17. Hinzufügen von dynamischen Beans zum Spring-Web-Kontext
- 18. Spring: programmatisch PropertyPlaceHolderConfigurer auf keine Singelton Beans
- 19. So laden Sie Spring- und Hibernate-JARs über Gradle herunter
- 20. Benutzerdefinierte Klassen in CodeIgniter laden?
- 21. So verwenden Sie SpringApplicationConfiguration oder ContextConfiguration zum Laden kleinerer App-Teile
- 22. So verwenden Sie Authentifizierungsprovider Spring Security?
- 23. So laden Sie das Spring-Ressourcenpaket aus dem Tomcat-Verzeichnis
- 24. Laravel 5.1 laden Beziehungsdaten in ausgewählte Zeile
- 25. Wie man nur ausgewählte Wörter in Notepad ++
- 26. Konfigurieren einer Spring-Beans mit Eigenschaften, die in einer Datenbanktabelle
- 27. Überwachung von Spring Beans mit JavaMelody im Spring-Boot Projekt
- 28. Deserialisieren ausgewählte Eigenschaftsnamen nur (Jackson)
- 29. Spring Lazy Loading - Laden einer Bean lädt alle @Lazy Beans dieser Klasse
- 30. So verweisen Sie auf Objekte in Klassen
Vielen Dank für Ihre Antwort, aber muy Frage ist über das Stoppen des Ladens von Klassen, die nicht autowired werden. – Rajdeep
@Rajdeep, verbesserte ich meine Antwort –
Wenn wir zu Lazy-Initialisierung verschieben, lädt noch Frühling alle Klassen, ich möchte nur das Laden von Klassen stoppen. – Rajdeep