spring 4 en spring data
DESCRIPTION
What's new in Spring 4? Plus an introduction to Spring Data ModulesTRANSCRIPT
Spring Framework 4and Spring DataWHAT’S NEW
Agenda Intro to Spring IoC
◦ Spring 3.x highlights
What’s new in Spring Core 4◦ @Conditional◦ Spring Boot◦ Autowiring voor Generic types
Spring Data◦ SQL and NoSQL◦ Generic Query Framework
Intro to Spring Framework Inversion of Control Pattern
◦ GoF °1995: Strategy Pattern◦ Program using interfaces◦ Clients are not tied to implementations
◦ Dependency Injection◦ Central Application Context to wire implementations together◦ Hollywood Principle: Don’t call us, we’ll call you◦ Allows better testing
Spring Framework◦ Rod Johnson book on J2EE: Spring 0.1 °2002
◦ Application context using XML descriptors◦ ‘Faster, Beter, Lighter Java’: O’Reilly °2004
◦ Spring and Hibernate as alternative to J2EE/EJB 1/EJB 2
Spring Framework Modules Spring includes various abstraction modules
◦ Database abstraction◦ Exception Handling◦ JDBC Abstraction◦ Hibernate/JPA Session Management (deprecated)
◦ Remoting◦ Data serialization abstraction◦ Exception Handling
◦ Messaging◦ JMS API Abstraction◦ Data serialization abstraction
◦ Management◦ JMX API Abstraction
Spring Framework also has Spring MVC and Spring WebFlow
Spring 3.x Highlights Spring 2.5
◦ @Autowired and @Component classpath scanning◦ Less XML
Spring 3.0◦ JavaConfig iso XML Config files
◦ Even less XML
Spring 3.1◦ Bean Profiles◦ TestContext support
Spring 3.2◦ Spring MVC improvements
◦ Spring MVC REST
Spring Framework 4 No big changes
◦ Mostly everything is backwards compatible◦ Except @Autowired with Generics
◦ Some deprecated methods are finally removed◦ E.g: ibatis ORM support◦ Spring MVC base classes before annotation support
Some new features◦ @Conditional◦ Spring Boot◦ Support for Groovy iso XML
Some modules major upgrade◦ Spring MVC with WebSocket support
WebSockets in Spring 4 DEMO: https://github.com/rstoyanchev/spring-websocket-portfolio
Spring Data Data Persistence abstraction
◦ Supports both SQL and NoSQL◦ JPA/JDBC◦ MongoDB/Hadoop
◦ Repository abstraction◦ Save/load/delete◦ Paging and sorting
◦ Entity annotations are stilimplementation specific
◦ Query Language abstraction◦ QueryDSL
Spring Data Queries Declare methods in your repository interface
◦ findByXxxx◦ Spring AOP will generate
Implementation
Or: use @Query annotation
Spring Data DEMO
Questions