Beachten Sie die Technik, die Senioren bei der Arbeit anwenden
Nachtrag: Alle wurden in diesem Blog veröffentlicht http://pppurple.hatenablog.com/entry/2016/12/29/233141
Es handelt sich um eine praktische Bibliothek, die beim Kompilieren automatisch einen Kesselplattencode (Standardcode, der aufgrund von Sprachspezifikationen nicht weggelassen werden kann) generiert. Beispielsweise kann JavaBean Getter / Setter usw. mit Anmerkungen versehen werden.
Angenommen, "HogeLogic" verwendet "FugaLogic" und Sie möchten es aus einem DI-Container erhalten.
Schreiben wir eine normale Spring-Konstruktor-Injektion.
Probe A.
@Component
public class HogeLogic {
private final FugaLogic fugaLogic;
@Autowired // <- 4.Kann nach 3 weggelassen werden
public HogeLogic(FugaLogic fugaLogic) {
this.fugaLogic = fugaLogic;
}
// some method
}
Wichtig ist, dass Sie seit ** spring4.3 @ Autowired
weglassen können, wenn Sie einen Konstruktor ** haben.
Schreiben wir die Konstruktorinjektion, die in Lombok weggelassen wurde.
Kommentieren Sie einfach @ RequiredArgsConstructor
zur Klasse: angel:
Probe B.
@RequiredArgsConstructor // <-Hier
@Component
public class HogeLogic {
private final FugaLogic fugaLogic;
// some method
}
Der automatisch generierte Code sieht folgendermaßen aus:
Probe C.
@Component
public class HogeLogic {
private final FugaLogic fugaLogic;
public HogeLogic(FugaLogic fugaLogic) {
this.fugaLogic = fugaLogic;
}
// some method
}
Die "@ Autowired" Birnenversion von "Sample A" ist vollständig.
@RequiredArgsConstructor
Eine Anmerkung zum Generieren eines Konstruktors, der Initialisierungsparameter von Feldern verwendet, die initialisiert werden müssen (z. B. endgültige Felder), als Argumente. [Entwicklungsrichtlinie für TERASOLUNA Server Framework für Java (5.x) | 11.2. Beseitigung des Kesselplattencodes (Lombok)](http://terasolunaorg.github.io/guideline/5.3.1.RELEASE/de/Appendix/Lombok .html)
Ein Konstruktor wird durch den Effekt von "@ RequiredArgsConstructor" generiert Da es nur einen Konstruktor gibt, bedeutet dies, dass "@ Autowired" weggelassen wird. Es wurde automatisch vom Konstruktor injiziert ...
Die kombinierte Technik ist erstaunlich.
Recommended Posts