Spring Framework 5 for Application Development

In this training you’ll learn how to use the core features of the Spring Framework, create production ready applications and discover how to use Spring in your projects.
Code: JVA-010
Duration: 30 hours


Spring is a lightweight, open source framework first released in 2003. Now Spring is a popular open source project, that covers various aspects of both JavaEE and JavaSE development. The Spring Framework is best known as a source extension (features), necessary for the efficient development of complex business applications outside software heavyweight models.

The Spring Framework can be viewed as a collection of smaller frameworks, most of which can operate independently of each other. However, they provide more functionality when used jointly. Abstract classes, factories and beans are designed so that the programmer can concentrate on writing business logic only.

This course will give participants information related to how the Spring Framework works. They will learn about the basic modules of the framework and options for their use as well as how to use the Spring framework in conjunction with other technologies.


Spring IOC
  • Spring Framework overview
  • History
  • IoC concept
  • Application Context interface
  • Spring beans
  • Spring configuration
  • XML configuration
  • Annotation based configuration
  • Java based configuration
  • Beans scope
  • Bean lifecycle
  • Event bus
  • Event publication
  • Event subscription with @EventListener
  • Filtering events with @EventListener
  • Event bus use cases
  • Localization
  • Configuration profiles
  • Spring Expression Language

Spring BOOT
  • What is Spring Boot?
  • Spring Boot root POM spring-boot-starter-parent
  • Auto-configuration
  • @SpringBootApplication
  • @ComponentScan
  • @Configuration
  • @EnableAutoConfiguration
  • Ways of Configuration
  • Accessing Command Line Properties
  • Application Property Files
  • Profile-specific Properties
  • Placeholders in Properties
  • YAML Instead of Properties
  • Type-safe Configuration Properties
  • Enabling @ConfigurationProperties-annotated types
  • Using @ConfigurationProperties-annotated types
  • Third-party Configuration
  • Merging Complex Types
  • @ConfigurationProperties Validation
  • @ConfigurationProperties vs. @Value
  • Profiles

Spring AOP
  • AOP use cases
  • Types of advice
  • Pointcut language
  • Aspects chaining

Spring DATA
  • CrudRepository
  • JpaRepository
  • @EnableJpaRepositories
  • @EnableTransactionManagement
  • @Transactional annotation
  • Timeout
  • Readonly flag
  • Defining Query methods
  • Query Lookup Strategies
  • Query Creation
  • Property Expressions
  • Special parameter handling
  • Limiting Query Results
  • Repository Methods Returning Collections or Iterables
  • Null Handling of Repository Methods
  • Streaming query results
  • Async query results
  • Using @Query
  • Native queries
  • Using sort
  • Using named parameters
  • Using SpEL expressions
  • Modifying Queries
  • Applying Query Hints
  • Projections
  • Stored Procedures
  • Query by Example
  • @Transactional query methods
  • Locking

Spring REST
  • REST services
  • Request and Response payloads
  • Request parameters
  • Path Parameters
  • HTTP headers
  • Constraints
  • Spring HATEOAS
  • Documenting REST service with Swagger

  • Representing Spring Data repository as REST service
  • Paging and sorting
  • HAL browser
  • Customizing Spring Data REST


  • Introduce participants to the possibilities offered by the Spring Framework and its practical application in solving typical problems that arise during development with Spring.
  • Provide participants with an overview of the range of products developed under the Spring license (not included in the Spring Framework).

Target Audience

Java developers with at least two years of experience.


  • Experience with Java SE development
  • Maven
  • Desirable: JDBC and Design patterns knowledge (Proxy, Command, Decorator, Template Method, MVC)

Trainer in Online
Oleksii Sirobaba Java Specialist
Oleksii has been working as a professional developer since 2012 on various software development projects, from embedded devices to financial platforms. In his current role he designs and implements a Managed File Transfer system project where he works with a full stack of technologies: C, Java and JavaScript.

His previous role involved embedded software development – the design and implementation of a WiFi router Firmware based on OpenWRT. The main techniques and tolls that he used were Linux embedded and networking. He has also worked on a Linux embedded software development project. Here he designed and implemented technical features and bug fixes working with networking technologies: WiFi driver injection, provisioning mechanism, kernel modules fixes as well as GNU GCC, Linux embedded and Networking.

After completing his Master’s degree in Computer Systems and Electronics he continued his studies on a PhD. Oleksii is an Oracle Certified Professional (Java SE8).
Schedule in Online Prices
Course is scheduled in: Online
17.05.2021 - 26.05.2021
Time: 09:00-13:00
City: Online
Duration: 32 hours
Language: English
Oleksii Sirobaba
Java Specialist
-10% €500
Register for the next course
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
17.05.2021 - 26.05.2021
Time: 09:00-13:00
City: Online
Duration: 32 hours
Language: English
Oleksii Sirobaba
Java Specialist
-10% €500
Register for the next course
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
Online €500
Bucharest €500
Krakow €500
Wroclaw €500

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. Price does not include VAT.

The training was very clear, and simple to understand. Training gets to know me the technologies I didn't use before from Spring Framework.
Courses you may be interested in:

Sign up

Choose dates
First Name*
Last Name*
Your Comment
Still have questions?
Connect with us
Thank you.
Your request has been received.