Description:
Spring Framework is a revolutionary application development framework that has dramatically changed the way Java applications are built and integrated together. While the original versions had limited features, Spring has now evolved to a stage that it is so serious to be neglected. Spring helps applications be developed faster, encourages loose coupling, modularization, testability and reuse of components. It also simplifies integration, adaptability and reconfigurability of Java applications to an unexampled level.
While the number of extensions are high, this training focuses on the core of Spring Framework and a number of mostly used extensions. The set of features covered during the training are in most of the cases more than required for typical Spring based application development irrespective of the size and complexity.
Training Objectives:
At the end of the training, participants will be able to- Use Spring Framework to build stand-alone Java applications
- Use Spring Framework to build Java EE applications (Middle-tier or Web-tier including JSF applications)
- Use Aspect-Oriented Programming features of Spring
- Use Spring to access databases in multiple ways and manage transactions declaratively
- Use Web services and JMS for remoting purposes of a Spring based application
Target Groups:
- Java Standard Edition application developers
- Java Enterprise Edition application developers
- Read "Do I fit for that training?" if you are interested, but need help to determine whether you should participate or not.
Prerequisites:
- Participants should be familiar with the Java programming language.
- It is preferred if participants are familiar with Java Enterprise Edition (Java EE) application development since some modules of this training explores the usage of Spring Framework within such applications. This training does not teach the concepts of Java Enterprise Edition. However, if you are not familiar with Java EE, you will get a chance to see what it is even though you may not fully understand some portions.
- If you do not find yourself in such a state, also read "Do I fit for that training?".
Communication Language:
English
Duration:
2 Days (16 hours)
Facilitator:
Kamal Wickramanayake (Profile)
Notes:
- This training is delivered with hands-on lab exercises. Participants will get exposed to a number of applications that demonstrates what they learn.
- This training does NOT teach you the details of JDBC, Hibernate, JPA, JSP, Servlets, JSF, Web Services and JMS. This training teaches you how to use such technologies with Spring. Sample code and hands-on exercises are included. If you are not familiar with these technologies, still you will be able to understand how Spring is used with them.
- The latest stable version of the Spring Framework will always be used.
- GlassFish and JBoss application servers will be used with the exercises that require an underlying application server.
Training Content:
-
Introduction
- What is Spring Framework?
- Where can Spring be used?
- Advantages of using Spring
- Dependency injection pattern
- Anatomy of a Spring based application
- Spring modules
-
Different Spring Configuration Mechanisms
- XML based (Declarative) configuration
- Annotation based (Programmatic) configuration
-
Aspect-Oriented Programming (AOP)
- What is AOP?
- Terminology
- General mechanisms used to implement AOP
- Spring implementation of AOP
-
Database Access
- Using JDBC
- Using Hibernate
- Using JPA
-
Transaction Management
- Simplified declarative transaction management
- Transaction management and AOP
- Using resource specific transaction managers
- Using a JTA transaction manager
-
Spring In Java Web Applications
- Initializing Spring within a Web application
- Accessing Spring beans from Servlets/JSPs
- Using Spring within a JSF application
- Overview of Spring MVC
-
Remoting With Spring
- Overview of different remoting mechanisms supported by Spring
- Remoting with Web services
- Remoting with JMS
-
Concluding Remarks
- Overview of other useful capabilities of Spring Framework
- Ports of Spring Framework to other languages