|
CODE: PRACTICAL-SPRING-01-03 DURATION: 3 DAY/S
In this 3-day intensive Practical Spring Developer Workshop, you will learn everything you need to build and deploy a Spring based application. You will see why the Spring Framework is a good choice for building your applications and how to efficiently structure and make your code maintainable and scalable.
You will learn techniques and tools that will dramatically increase your day to day productivity as a software developer. You will learn about the principles of good application design and how the core of the Spring Framework implements those principles. We will then introduce aspect-oriented programming; followed by discussion of efficient data access using Hibernate. We will then build on top of the code we have created to demonstrate the services tier that brings together all concepts in the course. We finish on a high note by showing how to take the server-side code in an elegant web application and will complete the course by showing how easy it is to add support for RESTful interfaces.
LEARN HOW TO:
Upon completion of this Practical Spring for Developers workshop, you will be equipped with a practical, applied understanding of the following concepts:
- explore & understand the core design patterns of flexible software design
- design and implement loosely-coupled systems
- follow the contemporary architectural practice
- understand how Spring Framework helps implement such systems
-
understand the principles of good application design using the Spring Framework
- gain good understanding of the core classes in the Spring Framework to create your applications
-
re-discover the joy of Java programming again!
PROGRAMME
Typically, this workshop runs as follows:
Why Spring
- what does Spring Framework solve?
- why is it important?
- what are its core benefits?
Dependency Injection
- the principles of DI (setter and constructor)
- using DI to inject scalars (constants, references) and collections
- expressing the application metadata in XML
- using annotations to drive the DI core
- advantages and disadvantages of using annotations over XML
- best practices of using annotations and XML
Data access fundamentals
- efficient data access practices
- using Hibernate to access the data
- discussion of the DataSource, HibernateTemplate, SessionFactory beans
AOP
- what is aspect oriented programming and what does it solve
- conceptual introduction to AOP
- implementation of AOP in Spring AOP and AspectJ
- pointcuts, join points, advices, aspects
- dynamic weaving
- load- and compile-time weaving
Transactional behaviour
- transactional semantics and its implications
- implementation of transactional semantics in Spring
- special considerations for Hibernate (with dynamic weaving)
Testing & application lifecycle & refactoring
- unit testing using mock objects
- integration testing
- unifying configuration for testing, staging and production
- refactoring strategies and impact of design decisions
Spring Web
- discussion of Java EE web applications
- principles of Java web applications runtime
- Spring web components and machinery
- Using Spring MVC annotations to handle web requests
- RESTful applications (servers and clients)
PLEASE NOTE: Most times, we do not complete all modules in the course, which is a good thing! As the course is taught by true experts (authors of many books, including Pro Spring, Pro Spring 2.5 and Open Spring 3), they are able to bring their real-world experience applying Spring to the class room, and are able to expand on a particular topic or to cover an area that all attendees feel is important, even though it is not in the course syllabus.
|
ABOUT THE AUTHOR
|
Jan Macháček is the technical director at Cake Solutions, highly experienced Java enterprise architect, consultant and developer with very strong technical and team management skills.
More about Jan Machacek
|
IS THIS COURSE FOR YOU?
If you would like to learn how to take control of the Spring framework and having it work the way you want, building scalable applications with an efficient structure and maintainable code, this Practical Spring Developer workshop is for you! This workshop will place a heavy emphasis on getting back to the basics and making Spring do things the way you want it to, in a predictable and testable way.
SOME WORDS OF WARNING
Our courses are NOT a break away from the office! While we will give all our expertise and support, we’ll need you to be prepared for some intensive days of learning and to put in the effort to follow the course completely. When attending this workshop, think for yourself, take your own notes, follow the exercises, do your homework (yes, there is homework!) and you will walk away with a deep understanding of fundamental aspects of Spring and how the various aspects of the framework can be used to develop and deliver enterprise scale applications.
In addition, this course is NOT aimed at preparing you for Spring Certification, but rather to provide you with the real skills required to become a successful enterprise Spring developer, learning from a real expert, passionate about producing quality enterprise software using Spring and modern development techniques. If it is certification you are after, we recommend you attend SpringSource’s curriculum of courses aimed at Spring certification instead, which are listed on the SpringSource website.
COURSE PREREQUISITES
This is an intermediate level course. In order to walk away with the most benefit from the course, you will be best served entering the course with the following key prerequisites and the level of knowledge:
- Knowledge of the Java syntax (Strong)
- Undergraduate core computer science concepts (Moderate)
- XML and XML schemas (Cursory)
- OO programming concepts (Moderate/Strong)
- ANSI SQL (Cursory/Moderate)
- Java EE web applications (Cursory/Moderate)
-
Servlet containers (Cursory)
- JSPs (Cursory, though stronger experience will help)
Note: We can also teach this Practical Spring course to a less experienced audience, typically by coming to your company and training your project team. We are entirely able to, and indeed keen to, adjust this course to any level (including the provision of basic developer, core Java or OO skills if required), to help your team become successful Spring developers. Simply give us a call ( on 0207 183 9040) and we’ll organise a meeting or phone call with you and our experts, to capture your specific requirements and project objectives to design a programme for you that provides you with the best value.
COURSE LABS & EXERCISES
This is a very intensive, interactive, collaborative and practical course!
|