Java 8 i Spring 4
Molt interessants les notícies sobre Java 8 i Spring 4. Spring és un framework per a Java que posa l’accent en facilitar la vida al programador. Spring no és un framework pensat exclusivament per fer una interfície Web, com l’Struts o el JSF i molts d’altres, sinó que dóna tot un conjunt d’eines, API i JSR, entre elles les necessàries per crear una aplicació Web.
Spring porta al Java funcionalitats que són pròpies d’altres llenguatges, com la programació orientada a aspectes de AspectJ, la programació per injecció de Beans i la implementació automatitzada de funcions alta-baixa-modificació a partir d’un objecte com té Ruby on rails.
Spring 4 vol treure tot el profit de Java 8, que surt aquest mes. Java 8 incorpora dues novetats que són importants. Per una banda Java 8 incorpora unes noves classes per descriure dates i hores: LocalDate, LocalDateTime, amb les quals es soluciona molt millor que amb Calendar i Date tots els problemes relatius al format de les dates i la localització d’una data.
Per altra banda Java 8 incorpora expressions lambda. Una expressió lambda es pot fer servir per mapar valors d’una llista i tractar-los seqüencialment. Per exemple per expressar que per tot element x d’una llista volem calcular el seu quadrat ho escriuríem com a x -> { x*x} ; Hom podria dir perquè necessita expressions lambda el java si ja existeixen les funcions i classes anònimes, per exemple funcioQueEsperaUnObjecteDeTipusFoo( new Foo() { …; } . Però amb Java 8, les expressions lambda no es tradueixen internament en classes anònimes sinó que és una propietat del llenguatge i per tant es creen molts menys objectes, és més ràpid i el codi queda molt més llegible.
Vegeu el vídeo que explica totes aquestes novetats: Spring 4 on Java 8, by Juergen Hoeller
[vimeo]http://vimeo.com/69631186[/vimeo]