Spring Framework EN
LICZBA DNI: 5 (40h)
KOD KURSU: SPRING/EN
The training is addressed to Java programmers wishing to develop scalable and easy to maintain applications using Spring framework in the 5.x version.
Training participants are required to be able to programme in Java at intermediate level, to have elementary knowledge on technologies forming part of the JEE platform, and to have basic knowledge of SQL and relational databases.
The training has the workshop nature.
Introduction and thorough learning about framework capacities, as well as understanding the idea of programming using interfaces, dependency injections, and aspects.
Developing one application with hands-on experience related to consecutive framework components during the entire week.
Getting familiar with opportunities provided and applications of the framework.
Understanding the idea of control inversion / dependency injections and related benefits.
Learning how to develop and configure own components, and how to use services provided within Spring.
Learning how to separate business logic from auxiliary functionalities, such as logging in, security, or transaction handling using aspects.
Learning how to test applications at unit level and integration level.
Learning how to integrate with JEE solutions.
- Framework characteristics
- Programming using interfaces
- Dependency injection
- Separation of duties using AOP
- Project configuration
- Application structure scheme
- Review of available implementations
- Configuration (XML, annotations, JavaConfig)
- Dependency injection
- Conflict solving
- Bean range and lifecycle
- Event bus and event programming
- Spring Expression Language
- Introduction to AOP concept
- Aspect development, configuration and linking
- Capturing arguments and results returned from methods
- Context and execution sequence
Data access layer
- Configuration of base connection (standalone, pool, jndi)
- JDBC templates
- Transaction manager
- Configuration of transaction mechanism
- Transaction approval and withdrawal
- Introduction to object-relational mapping and JPA standard
- Integration with JPA and Hibernate framework
- Development of record layer using Spring Data
- Model-View-Controller template
- Introduction to Spring MVC
- Request processing cycle
- Configuration of web application (XML, annotations, JavaConfig)
- Controller structure and mapping
- Form support
- Integration with other web frameworks
Services based on REST architecture
- Controller mapping
- Header and cookies support
- Response statuses
- Exception mapping and support
- Converters and transfer objects
- Reactive Streams
- WebFlux framework
- Architecture, components and basic security mechanism services
- Security configuration (authentication, access authorisation, logout, remember-me, csrf filter)
- Session management
- Customisation of selected security mechanism components
- Integration with Spring OAuth2
Selected issues (optional)
- Project configuration using Spring Boot
- Unit and integration tests
- Task management
- Use of cache
- Integration with Java EE
- Functional programming with Kotlin