Our technical services
Why Spring?
The training provides an introduction to the Spring Framework and the functionalities it offers to programmers.
According to a 2016 industry report analyzing the global landscape of Java Tools and Technologies, Spring and Spring Boot are by far the most popular frameworks, together representing 72% of the total framework market.
We choose to embrace the current and future trends dominating the Java enterprise ecosystem and develop around them. We use our in-depth and hands-on experience from multiple enterprise projects that enable us help you to design your new project or re-architect, refactor or improve your current project.
Training description
The training presents the Spring Framework, either in a standalone manner or as the underlying foundation of an enterprise web application. It details the features and benefits of the Spring Framework through hands-on examples and architectural overviews. As the training is based on Version 5 of the Spring Framework, it also includes reactive applications support.
Training objectives
- Learn the Spring Framework features, benefits and characteristics.
- Learn the main architectural patterns used by the Spring Framework, including Dependency Injection and Inversion of Control.
- Learn the Spring Framework components and how they can be integrated in an enterprise project.
Training curricula
- Enterprise architecture introduction
- Spring's role in each architectural layer
- Spring introduction, Inversion of control and Dependency Injection
- Spring web - MVC & REST
- Centralized error and exception handling
- Database programming, connection pooling, transaction management
- Spring Data JPA programming
- Spring Security
- Unit and integration testing
- Asynchronous processing
- Clustered and non-clustered task scheduling
- Events processing
- Caching support
- Spring Retry
- Spring Batch
- Spring Integration
- Spring XD
- Spring IO
Online courses - webinars, downloadable and watchable videos
We will soon be offering the possibility for you to attend our courses in an online mode, as live webinars and downloadable/watchable videos. As we’re constantly working towards better understanding your needs and the way our services can fit them, we kindly ask you to tell us your preferences by filling our survey. We appreciate your feedback and any other additional information you can provide.
Training duration
- The specified duration is our minimum recommended duration, which allows us to work on a few examples together with the participants. For more thorough practice, greater hands-on experience and added use-case analyses, we recommend that our customers allocate at least 20-30% more time for the training.
- In order to maximize the percentage of information retained after a training session, we advise our customers to schedule training sessions of 4 or (at most) 6 hours per day. Based on our experience, training sessions of 7-8 hours per day are less efficient in regard to the retained information.
Theoretical, practical and Q&A components
Based on our experience, the preference for more theoretical discussions, Q&A sessions and/or more practical dialogues is directly influenced by the attendees' experience; more exactly:
- More experienced developers usually prefer to do less hands-on examples and to dedicate the training session to seeing some demos/examples presented by the trainer, followed by a series of discussions on use-cases and best practices
- Less experienced developers usually prefer to do more hands-on examples, as it helps them to better understand the presented topics.
Given these preferences, we highly recommend our clients to consider the following aspects:
- The experience of the training attendees should be measured to ensure that all the attendees will benefit from the presented topics in an equal manner.
- The training sessions structure should be tailored based on the attendees experience and practice preference - during the training sessions or after.
- The training sessions duration and structure is less influenced by the number of participants and more influenced by their experience and theory/practice preference.
As a general recommendation, the sessions attended by less experienced developers should be at least 20-30% longer, to allow more hands-on practice and Q&A sessions.
Training recommendations
For an increased retention and comprehension rate, we have the following recommendations for the training participants:
- Participants should attend the training sessions with a laptop, so they can run the examples that the trainer presents and then implement the small assigned tasks.
- If the participants do not wish to run the exercises, we recommend they take notes on the newly-learned topics to make sure they will retain the information.
- We highly encourage the participants to provide feedback for the trainers, as this will further help us to improve our training sessions.
Training followup
Our training sessions are designed to provide the knowledge needed in a given topic. In order to upgrade the acquired knowledge into practical skills, we recommend participants continue the training with a series of mentoring and coaching sessions. You can read more details about these sessions on our "Mentoring" page.
Who are the trainers?
We are a small team of expert software developers and architects that has a strong background in software development and architecture, team/project management and training delivery. You can find out more about our team on the "About" page.