Intro
Welcome to springOne!
Spring Beyond The Obvious
Speaker's qualifications
Overall presentation goal
What is a 'complex' application anyway?
Multi-module Spring applications
Let's deal with multi-module first
Layout of a multi-module Spring app
How about ApplicationContexts?
Application Context Hierarchies
What did we just see?
Single bean instance per application
What we want is this:
Spring supports this out-of-the-box
How does it work?
Supporting multiple environments
Supporting multiple environments
DTAP environment model
Some differences between environments
How to deal with those differences?
Bean definition inheritance (1)
Bean definition inheritance (2)
Bean definition inheritance (2)
Bean definition inheritance (1)
Bean definition inheritance (2)
Bean definition inheritance (2)
Bean definition overriding
But how do you know what properties or xml files to use?
But how do you know what properties or xml files to use?
But how do you know what properties or xml files to use?
But how do you know what properties or xml files to use?
Quick recap
Enter Spring JavaConfig!
Enter Spring JavaConfig!
JavaConfig: coding your beans
Using JavaConfig for environments
Mix-and-match solution
For more info
Summary
Spring supports all sorts of setups for complex applications:Just think out of the box!
Spring Beyond the Obvious - using Spring in complex enterprise projects. We all know how to dependency inject our service objects and our DAOs or Repository. We know how to set up a transactional service layer using @Transactional annotations or using <tx:advice> in XML. There are plenty situations however where is doesn't end here. Many development teams use multiple environments (staging environments, production environments, et cetera). How do you set up your application context(s) in such a way that it easy to transition from one environment to the other. How does internationalization affect your application, et cetera. In this talk Joris Kuipers will review several complex scenarios they both saw in real projects and how Spring helped solve those issues. Ranging from Spring extension points to the set up of your project; this really takes Spring beyond the obvious.
Joris Kuipers is a Senior Consultant for Interface21 in The Netherlands. Starting out in 1999 as one of the core members of a Research & Development team, he investigated amongst other things the IBM SanFrancisco framework (a J2EE predecessor) and the use of various XML-related technologies.
Joris specialized in J2EE technology and became the Java Technical Consultant for the Dutch Central Bank in 2003. In this role, he was responsible for all development technologies and processes used in the Java department. He streamlined the software configuration management process by introducing automated builds and continuous integration, migrated system development from a traditional EJB-based environment to a modern, light-weight stack based on Spring and Hibernate and supported developers in their day-to-day work as the local Java guru.
During this period, he also became a committer on CruiseControl, a widely used continuous integration tool.
In April 2007, Joris joined Interface21 as a trainer and consultant.