Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13053|Antwort: 0

[Quelle] @Autowired Annotationen und statische Methoden

[Link kopieren]
Veröffentlicht am 27.02.2019 14:19:45 | | | |
1. Geschäftsszenarien

Es gibt statische Methoden in Spring Framework-Anwendungen, die auf Klassen angewiesen sind, die von Containern verwaltet werden, wie diese hier:

Dies wird definitiv java.lang.NullPointerException: null exception melden.

2. Prinzipanalyse

Statische Variablen und Klassenvariablen sind keine Eigenschaften von Objekten, sondern Eigenschaften einer Klasse, daher gehören statische Methoden zu Klassen, gewöhnliche Methoden zu Entitätsobjekten (d. h. neuen Objekten), und Spring Injection instanziiert Objekte in Containern, sodass statische Methoden nicht verwendet werden können.

Die Verwendung statischer Variablen und Klassenvariablen erweitert den Anwendungsbereich statischer Methoden. Statische Methoden werden im Frühjahr nicht empfohlen, und der Hauptzweck der Dependency Injection besteht darin, Containern zu ermöglichen, Instanzen eines Objekts zu erzeugen und diese dann während ihrer gesamten Lebensdauer zu verwenden, während gleichzeitig das Testen erleichtert wird.

Sobald du die statische Methode verwendest, musst du keine Instanzen dieser Klasse mehr generieren, was das Testen erschwert, und du kannst dich nicht darauf verlassen, dass Injection mehrere Instanzen mit unterschiedlichen Abhängigkeiten für eine bestimmte Klasse generiert, die implizit geteilt wird und ein globaler Zustand ist, was ebenfalls von Spring nicht empfohlen wird.

3. Lösung

1. Fügen Sie der Bauweise @Autowire hinzu



2. Annotieren mit @PostConstruct







Vorhergehend:Corel-Produkte KeyGen 2019
Nächster:C*or*el 2019 Produktserie der chinesischen Keygens-Version [kann für das Treffen 2019 registriert werden]
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com