Spring Framework 5 for Application Development
Description
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.
is issued on the Luxoft Training form
Objectives
- 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.
Prerequisites
- Experience with Java SE development
- Maven
- Desirable: JDBC and Design patterns knowledge (Proxy, Command, Decorator, Template Method, MVC)
Roadmap
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
Spring DATA REST
- Representing Spring Data repository as REST service
- Paging and sorting
- HAL browser
- Customizing Spring Data REST
Catalin is an experienced and dedicated software engineer with expertise in a variety of areas such as requirements analysis, project management (Waterfall and Agile), people management, Java technologies, database design, software archi