Understanding the Java Spring Framework Training

  • Learn via: Classroom / Virtual Classroom
  • Duration: 3 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

Spring is a popular Java-based framework for developing large-scale enterprise-level applications both on and off the web. It is based on the dependency injection design pattern and allows for building decoupled applications. It has grown in popularity over the years due to this nature and the number of supported projects that are still ongoing. Spring also provides support for connection to databases using both JDBC methods and object-relational mapping libraries such as Hibernate.

This course starts with how to set up simple Spring projects and define beans. We then move on to web-based MVC projects. Persistence and transactions are covered, looking at both JDBC and Hibernate ORM implementations. Finally, we cover how to secure an application, including authentication methods and user roles.

The course will be taught as a series of presentations, walk-through examples and exercises to complete. The exercises start as walkthroughs to build basic Spring projects, but by the end free reign is given to design and write larger web applications based on a given scenario. Previous experience of using standard Java is essential, and experience of using databases and writing simple queries will also be required.

  • Essential: Familiarity with object-oriented programming in Java
  • Essential: Familiarity with basic database operations and some experience with SQL

Please note: Before attending this class delegates must have a Microsoft account (signing up one is free). The instructions on how to set up a Microsoft account can be found here.

  • Create a Spring project from scratch
  • Define beans and autowire them as required
  • Setup and develop web-based applications
  • Include database access with object persistence and transaction support
  • Secure their application using authentication via database method calls and how Spring Security can automatically secure against potential attacks


Introduction to Spring

  • What is Spring and why do we want to use it?
  • The dependency injection pattern
  • Spring modules
  • Configuring a Spring project
  • Spring tools

Spring Beans

  • Spring vs Java Beans
  • Defining beans
  • The p and c namespaces
  • Autowiring beans
  • Lifecycle of a bean

Web Applications and MVC with Spring

  • The MVC pattern
  • Web MVC in Spring
  • Configuring a web project
  • Creating and running web projects

Aspect-Oriented Programming

  • What is aspect-oriented programming?
  • Writing advice
  • AspectJ and Spring

Persistence and Hibernate

  • JPA and persistent objects
  • JDBC and database access
  • What is Hibernate?
  • Configuring a Hibernate project
  • Simple queries
  • Mapping objects to the database
  • Javax.persistence annotations

Transactions

  • What are transactions?
  • Programmatic vs declarative
  • Transaction managers in Spring
  • Transactional attributes
  • Flow of control
  • Using AOP for transactions

Spring Security

  • Security attacks for web and non-web based applications
  • What is Spring Security?
  • Configuration
  • Authentication
  • Defining our own defaults
  • Linking to datasources
  • Other security packages

Thymeleaf

  • What is thymeleaf?
  • Configuration
  • th:text
  • Forms
  • Thymeleaf and Spring Security


Spring Boot and RESTful webservices

  • What is Spring Boot
  • Configuring a Spring Boot project
  • What are RESTful webservices
  • Verb design and best practices
  • Creating a RESTful service with Spring Boot


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Istanbul, London and Ankara facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
07 May 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
11 May 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
13 May 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
23 July 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
02 August 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
14 August 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
04 September 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
03 September 2024
Istanbul, Ankara, London
3 Days
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.