Annotation Processor, trésor caché de la JVM

5,129 views

Published on

Slides du quickie sur apt et les annotations processor à Devoxx France 2015.

Published in: Technology

Annotation Processor, trésor caché de la JVM

  1. 1. @rbrugier#JavaProcessor Annotation processor, trésor caché de la JVM
  2. 2. @rbrugier#JavaProcessor Annotation processor, trésor caché de la JVM Raphaël Brugier @rbrugier Développeur chez
  3. 3. Agenda Nos utilisations @ ? Bien débuter
  4. 4. @rbrugier#JavaProcessor Les @nnotations
  5. 5. @rbrugier#JavaProcessor Compilation @ JavacJavac Validation Génération
  6. 6. @rbrugier#JavaProcessor Processors @LesFurets
  7. 7. @rbrugier#JavaProcessor Processors @LesFurets
  8. 8. @rbrugier#JavaProcessor Vs Reflection •Code visible dans l'IDE •Stack erreurs plus simple •Performances
  9. 9. JavacJavac ProcessorsProcessors
  10. 10. @rbrugier#JavaProcessor Bien débuter Déclaration Extraction Génération
  11. 11. @rbrugier#JavaProcessor Annotation Processor + =
  12. 12. @rbrugier#JavaProcessor Google @AutoService github.com/google/auto/tree/master/service
  13. 13. @rbrugier#JavaProcessor Extraction
  14. 14. @rbrugier#JavaProcessor Element Un « bloc » de programme Java.lang.reflect Java.annotation.processing Java.lang.package PackageElement java.lang.Class TypeElement Constructor ExecutableElement Method ExecutableElement Field, Parameter VariableElement
  15. 15. Exemple Lister les retours des méthodes
  16. 16. @rbrugier#JavaProcessor Écrire
  17. 17. @rbrugier#JavaProcessor JavaPoet github.com/square/javapoet
  18. 18. @rbrugier#JavaProcessor Test, Test, TEST ! github.com/google/compile-testing
  19. 19. Pour aller plus loin ... « Annotation Processing Boilerplate Destruction »  speakerdeck.com/jakewharton « Writing Annotation Processors to Aid Your Development Process »  github.com/irobertson/jpa-annotation-processor « LesFurets MDL4UI »  github.com/lesfurets/mdl4ui et dagger2, AndroidAnnotations, etc

×