Notez la technique utilisée par les seniors au travail
Postscript: Tous ont été publiés sur ce blog http://pppurple.hatenablog.com/entry/2016/12/29/233141
C'est une bibliothèque pratique qui génère automatiquement le code de la plaque chauffante (code standard qui ne peut pas être omis en raison des spécifications du langage) au moment de la compilation. Par exemple, le getter / setter JavaBean, etc. peut être annoté.
Supposons que HogeLogic
utilise FugaLogic
et que vous vouliez l'obtenir à partir d'un conteneur DI.
Écrivons une injection de constructeur Spring normale.
Échantillon A
@Component
public class HogeLogic {
private final FugaLogic fugaLogic;
@Autowired // <- 4.Peut être omis après 3
public HogeLogic(FugaLogic fugaLogic) {
this.fugaLogic = fugaLogic;
}
// some method
}
L'important est que depuis ** spring4.3 vous pouvez omettre @ Autowired
si vous avez un constructeur **.
Écrivons l'injection de constructeur omise dans Lombok.
Annotez simplement @ RequiredArgsConstructor
à la classe: angel:
Échantillon B
@RequiredArgsConstructor // <-ici
@Component
public class HogeLogic {
private final FugaLogic fugaLogic;
// some method
}
En regardant le code généré automatiquement, il ressemble à ceci:
Échantillon C
@Component
public class HogeLogic {
private final FugaLogic fugaLogic;
public HogeLogic(FugaLogic fugaLogic) {
this.fugaLogic = fugaLogic;
}
// some method
}
La version poire «@ Autowired» de «Sample A» est terminée.
@RequiredArgsConstructor
Une annotation pour générer un constructeur qui prend comme arguments les paramètres d'initialisation des champs qui doivent être initialisés (comme les champs finaux). [Guide de développement de TERASOLUNA Server Framework for Java (5.x) | 11.2. Élimination du code de plaque de chaudière (Lombok)](http://terasolunaorg.github.io/guideline/5.3.1.RELEASE/en/Appendix/Lombok .html)
Un constructeur est généré par l'effet de @ RequiredArgsConstructor
Puisqu'il n'y a qu'un seul constructeur, cela signifie que @ Autowired
est omis.
Il a été automatiquement injecté par le constructeur ...
La technique combinée est incroyable.
Recommended Posts