Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 13053|Antwoord: 0

[Bron] @Autowired annotaties en statische methoden

[Link kopiëren]
Geplaatst op 27-02-2019 14:19:45 | | | |
1. Zakelijke scenario's

Er zijn statische methoden in Spring Framework-applicaties die moeten vertrouwen op klassen die door containers worden beheerd, zoals deze:

Dit zal zeker java.lang rapporteren. NullPointerException: null exception.

2. Principiële analyse

Statische variabelen en klassevariabelen zijn geen eigenschappen van objecten, maar eigenschappen van een klasse, dus statische methoden behoren tot klassen, gewone methoden tot entiteitsobjecten (d.w.z. nieuwe objecten), en spring injection instantieert objecten in containers, waardoor statische methoden niet kunnen worden gebruikt.

Het gebruik van statische variabelen en klassevariabelen vergroot het toepassingsgebied van statische methoden. Statische methoden worden in het voorjaar niet aanbevolen, en het belangrijkste doel van dependency injection is om containers toe te staan instanties van een object te genereren en deze vervolgens gedurende hun hele levensduur te gebruiken, terwijl het testen ook eenvoudiger wordt.

Zodra je de statische methode gebruikt, hoef je geen instanties van deze klasse meer te genereren, wat testen moeilijker maakt, en je kunt niet vertrouwen op injectie om meerdere instanties met verschillende afhankelijkheden voor een bepaalde klasse te genereren, wat impliciet gedeeld is en een globale toestand is, wat ook niet wordt aanbevolen door Spring.

3. Oplossing

1. Voeg @Autowire toe aan de constructiemethode



2. Annoteer met @PostConstruct







Vorig:Corel Products KeyGen 2019
Volgend:C*or*el 2019 product-volledige serie van keygens Chinese versie [kan worden geregistreerd voor de bijeenkomst 2019]
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com