Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Annotation Processor, trésor caché de la JVM

5,282 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

×