Spring 3.0
Het Spring framework is een zeer populair framework dat het bouwen van enterprise java applicaties een stuk simpeler maakt. Het Spring framework is ontstaan door het feit dat J2EE ontwikkeling nogal complex is. Met Spring is het mogelijk om op een object georiënteerde manier enterprise applicaties te schrijven die flexibel, beter leesbaar en beter te testen zijn.
Het hart van Spring bestaat uit 3 verschillende technieken:
1) Dependency Injection (DI), een techniek om de applicatie flexibeler en beter testbaar te maken.
2) Aspect Oriented Programming (AOP), een techniek om de business logica te scheiden van de technische infrastructuur.
3) Enterprise service templates, een techniek die het programmeren van de verschillende enterprise service API's een stuk simpeler maakt.
In deze training leert u niet alleen de verschillende onderdelen van het Spring framework, maar u leert ook hoe u een goede architectuur kunt opstellen, en in welke gevallen de verschillende onderdelen van Spring wel of niet goed toepasbaar zijn.
Deze cursus bevat vele hands-on oefeningen waarin de cursisten leren de verschillende aspecten van Spring te implementeren.
Duur
4 dagen
Onderwerpen
De cursus Enterprise Applicatieontwikkeling met Spring 3.0 behandelt de volgende onderwerpen:
Module 1: Spring introductie
Module 2: Spring basics
Module 3: Dependency Injection
Module 4: AOP
Module 5: Architectuur van een Spring applicatie
Module 6: Spring JDBC
Module 7: Spring support voor Hibernate
Module 8: Spring support voor iBatis
Module 9: Spring support voor JPA
Module 10: Spring transacties
Module 11: Spring RMI
Module 12: Spring JMS
Module 13: Spring Web Services
Module 14: Spring job scheduling
Module 15: Spring test framework
Module 16: Spring integratie met web frameworks
Voorkennis
• Basiskennis van de programmeertaal Java
Gedetailleerde onderwerpenlijst
Hieronder vind u een gedetailleerd overzicht met onderwerpen die in de cursus Enterprise Applicatieontwikkeling met Spring behandeld zullen worden:
Module 1: Spring introductie
• Wat is Spring?
• Waarom hebben we Spring nodig?
• Geschiedenis en roadmap van Spring?
• Dependency Injection (DI)
• Aspect Oriented Programming (AOP)
• Enterprise Service Templates
• De Spring portfolio
• Gebruik van het Spring framework
• Voordelen en nadelen van Spring
Module 2: Spring basics
• Een basis Spring applicatie
• De ApplicationContext
• Singletons en prototypes
• Lazy en eager instantiation
• Lifecycle methoden
Module 3: Dependency Injection
• Wat is Dependency Injection en wat zijn de voordelen?
• Setter injection
• Constructor injection
• Autowiring
• Injection van primitive values
• List injection
• @Required
• DI met inheritance
• Classpath scanning
• Java configuration
• Vergelijking van de 3 manieren om Spring te configureren
• Spring Expression Language (SPEL)
Module 4: Aspect Oriented Programming (AOP)
• Crosscutting concerns
• Introductie van AOP
• Advice typen
• AOP configuratie met annotaties
• Pointcut execution language
• Volgorde van executie
• Proxy based weaving en load time weaving
• Nadelen van een proxy
• AOP configuratie met XML
• Voordelen en nadelen van AOP
• Vergelijking tussen XML en annotations
Module 5: Architectuur van een Spring applicatie
• Hoe ziet de architectuur van een typische Spring applicatie eruit?
• Service objecten
• AOP objecten
• Gebruik van meerdere XML files
• Gebruik van meerdere configuratie klassen by Java configuratie
Module 6: Spring JDBC
• Typische JDBC code
• Eigenschappen en nadelen van JDBC
• JdbcTemplate en NamedParameterJdbcTemplate
• RowMapper
• Exception handling
• Exception translation
Module 7: Spring support voor Hibernate
• Typische Hibernate code
• Eigenschappen en nadelen van Hibernate
• Hibernate template
• Injectie van de Hibernate Session in de DAO
• Spring exception handling voor DAO objecten
Module 8: Spring support voor iBatis
• Typische iBatis code
• SqlMapClientDaoSupport
• Injectie van de SqlMapClient in de DAO
Module 9: Spring support voor JPA
• Typische JPA code
• JpaDaoSupport
• Injectie van de EntityManager in de DAO
Module 10: Spring transacties
• ACID eigenschappen
• Locale of globale transacties
• 2 phase commit
• Transactie propagatie
• Niveau van isolatie
• JDBC transacties
• Hibernate transacties
• Transacties met Spring
• @Transactional
• Rollback met checked excepties
Module 11: Spring RMI
• Basic RMI
• Spring RMI
• RMI en concurrency
• Tread safety
• RMI en pooling
Module 12: Spring JMS
• Basic JMS
• Spring JmsTemplate
• Spring JMS synchronous receiver
• Spring JMS asynchronous receiver
• JMS en concurrency
• JMS en pooling
Module 13: Spring webservices
• Introductie in webservices
• Verschillende typen webservices (SOAP, REST en geserialiseerde objecten over HTTP)
• Spring integratie met AXIS2
• Spring integratie met CXF
• Spring-WS
• Spring REST webservices
• HttpInvoker
Module 14: Job scheduling met Spring
• JDK Timer scheduling
• Spring support voor JDK Timer scheduling
• Quartz scheduling
• Cron based scheduling
• Spring support voor Quartz scheduling
Module 15: Spring testing framework
• Unit testen
• Integratie testen
• Testen van de Spring configuratie
• Testen van DAO's configureerd met Spring
Module 16: Spring integratie met web frameworks
• Spring integratie met Servlets
• Spring integratie met Struts
• Spring integratie met JSF
Module 17: Samenvatting van deze Spring training
• Deze module geeft een overzicht van de verschillende aspecten van Spring en hoe ze gezamelijk passen in een enterprise Java applicatie.