Web Development with Spring MVC


The Spring Web MVC framework provides Model-View-Controller (MVC) architecture and ready components that can be used to develop flexible and loosely coupled web applications.

In this 5-day course, students will learn how to build a Spring-powered Java application that demonstrates the Spring Framework and other Spring technologies.


  • Develop web applications using Spring MVC
  • Map requests to controllers using annotations
  • Implement full SCRUD Web applications
  • Display, validate and process forms
  • Implement REST style interfaces to support Ajax requests
  • Secure web applications using Spring security
  • Create Micro Services with Spring Cloud


This course targets professional Java programmers who want to learn how to develop Spring MVC applications


  • Participants of this course need to have a solid understanding of Java, HTML, JavaScript and CSS Development.
  • The used IDE will be Eclipse.
  • Previous knowledge of the Spring framework is not required.


  • Introduction to Spring
  • Spring Java Configuration: A Deeper Look
  • Annotation-Based Dependency Injection
  • XML Dependency Injection
  • MThe Bean Lifecycle: How Does Spring Work Internally?
  • Testing A Spring-Based Application
  • Aspect-Oriented Programming
  • Data Access and Jdbc with Spring
  • Database Transactions with Spring
  • JPA with Spring and Spring Data
  • Spring in A Web Application
  • Spring Boot
  • Spring Boot – Going Further
  • Spring Security
  • REST with Spring MVC
  • Microservices with Spring Cloud

Introduction to Spring

  • Java configuration and the Spring application context
  • Configuration and @Bean annotations
  • Import: working with multiple configuration files
  • Launching a Spring Application and obtaining Beans

Spring Java Configuration: A Deeper Look

  • External properties & Property sources
  • Environment abstraction
  • Bean scope, bean profiles
  • Spring Expression Language (SpEL)
  • How it Works: Inheritance based proxies

Annotation-Based Dependency Injection

  • Autowiring and component scanning
  • Java configuration versus annotations, mixing.
  • Lifecycle annotations: @PostConstruct and @PreDestroy
  • Stereotypes and meta-annotations

XML Dependency Injection

  • XML syntax, constructor & setter injection
  • Resource prefixes
  • Namespaces and best practices when using XML
  • XML profile selection

The Bean Lifecycle: How Does Spring Work Internally?

  • The init phase: available interceptors
  • The init phase: what is the difference between XML, annotations and Java configuration?
  • The use and destruction phases

Testing A Spring-Based Application

  • Spring and Test Driven Development
  • ContextConfiguration and @RunWith annotations
  • Application context caching and the @DirtiesContext annotation
  • Profile selection with @ActiveProfiles
  • Easy test data setup with @Sql

Aspect-Oriented Programming

  • What problems does AOP solve?
  • Differences between Spring AOP and AspectJ
  • Defining pointcut expressions
  • Implementing an advice: Around, Before, After

Data Access and Jdbc with Spring

  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • Implementing caching using @Cacheable
  • jdbc namespace and Spring‘s JdbcTemplate

Database Transactions with Spring

  • Transactional annotation
  • Transactions configuration: XML versus annotations
  • Isolation levels, transaction propagation and rollback rules
  • Transactions and integration testing
  • Should you use read-only transactions?

JPA with Spring and Spring Data

  • Quick introduction to ORM with JPA
  • Benefits of using Spring with JPA
  • JPA configuration in Spring
  • Spring Data JPA dynamic repositories

Spring in A Web Application

  • Configuring Spring in a Web application
  • Introduction to Spring MVC, required configuration
  • Controller method signatures
  • Views and ViewResolvers
  • Using @Controller and @RequestMapping annotations

Spring Boot

  • Using Spring Boot to bypass most configuration
  • Simplified dependency management with starter POMs
  • Packaging options, JAR or WAR
  • Easily overriding Spring Boot defaults

Spring Boot – Going Further

  • Going beyond the default settings
  • Customizing Spring Boot configuration
  • Logging control
  • Configuration properties using YAML
  • Boot-driven testing

Spring Security

  • What problems does Spring Security solve?
  • Configuring authentication and intercepting URLs
  • The Spring Security tag library for JSPs
  • Security at the method level
  • Customizing the Spring Security filter chain

REST with Spring MVC

  • An introduction to the REST architectural style
  • Controlling HTTP response codes with @ResponseStatus
  • Implementing REST with Spring MVC, @RequestBody, @ ResponseBody
  • Spring MVC’s HttpMessageConverters and automatic content negotiation

Microservices with Spring Cloud

  • Microservice Architectures
  • Challenges with cloud-native applications
  • Using Spring Cloud
  • Developing microservice systems

Outras datas e horários


Quero saber mais informações sobre este curso

Web Development with Spring MVC

Desenvolvimento / Programação | 30h - Laboral: 09h30 - 16h30


Pretende mais informação sobre este curso?

Preencha o formulário com os seus dados e as suas questões e entraremos em contacto consigo para lhe darmos todas as informações pretendidas.


Quero inscrever-me neste curso

Web Development with Spring MVC

Desenvolvimento / Programação | 30h - Laboral: 09h30 - 16h30

Dados Pessoais
Dados para faturação