Spring 4 Training Course

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

Spring 4 training course (code: SPRING)

Use Spring's comprehensive infrastructure support To Develop Robust Java applications



Our Spring Framework training course gets you to grips with this ever evolving and powerful framework aimed at simplifying many aspects of Java application development in the enterprise.

This course is designed to demystify the framework and focus on solving real world problems using its capabilities. It looks at many of the core features such as dependency injection, REST API creation, AOP, and integration with JPA and NoSQL databases.

By the end of the training, you will have built an end to end Spring application using best practices around design and architecture, as well as learning the APIs


Developers who aim to develop Java applications within the Spring framework



Session 1:  Introduction

  • Overview of Spring Technology
    • Shortcomings of Java EE, Spring Architecture
  • Spring Introduction
    • Managing Beans, The Spring Container, IoC, DI
    • Configuration Metadata - XML, @Component, Auto-Detecting Beans
  • Dependencies and Dependency Injection (DI)
    • Dependency Inversion, Dependency Injection (DI) in Spring, DI Configuration - XML, @Resource

Session 2:  More about Bean Properties

  • Working with Properties
    • Configuring Value Properties, Property Conversions, Setter / Constructor Injection
  • Spring Expression Language for Configuration
  • Collection Valued Properties
    • Configuring and using lists, sets, etc.
  • Additional Capabilities
    • Factory Methods, Bean Aliases, Definition Inheritance (Parent Beans)

Session 3:  The Spring Container and API

  • ApplicationContext
    • ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, Constructors, Usage
  • Resource Access - Overview, Resource Implementations
  • Validation
    • Overview, JSR-303
    • Declarative Validation, @NotNull, @Size, @Min, etc
    • Configuration, Injection
  • Bean Scope and Lifecycle
    • Bean Scope Defined, Configuring, Inner Beans, Bean Creation Lifecycle, Lifecycle Callbacks, BeanPostProcessor, Event Handling
  • MessageSources
    • Defining and Using Resource Bundles, Localization/I18N
  • Annotation Driven Configuration
    • Stereotypes: @Component, @Service, @Controller, @Repository
    • Java EE 5 Annotation Support
    • Defining Custom Annotations
    • Autowiring
      • @Autowired on setters, constructures, methods, fields
      • Injecting resources like ApplicationContext
      • Fine tuning with @Qualifier
  • Java Based Bean Metadata (JavaConfig)
    • Overview - code-centric Configuration
    • @Confguration, @Bean, and @Value
    • Importing and @Import
    • Autowiring in Configuration Classes
    • Mixing XML Configuraiton and @Configuration
    • XML vs Annotation Based Configuration
  • Other Capabilities
    • SpEL - Spring Expression LanguageValidation

Session 4:  Database Access with Spring

  • Issues with JDBC / Typical JDBC Flow
  • Introduction to Spring DAO Support
    • Spring Database API, (Simple)JdbcTemplate,  (Simple)JdbcDaoSupport, DataSources,
    • Working With and Configuring, <list>, <set>, With Bean Refs, <map>, <props>
  • Queries and Inserts
    • RowMapper, ParameterizedRowMapper, Passing Arguments, queryForObject, query, update
  • Additional API Capabilities
    • Additional query methods, Passing Type Arguments, queryForList, FetchSize, MaxRows
  • Using Spring with Hibernate
    • Overview of Template Approach, SessionFactory configuration
    • Using Contextual Sessions
  • Using Spring with JPA
    • LocalEntityManagerFactoryBean, LocalContainerEntityManagerFactoryBean, JNDI, PersistenceUnitManager
    • DAO Support - @PersistenceUnit, @PersistenceContext

Session 5:  Aspect Oriented Programming (AOP)

  • Overview of AOP
    • AOP Basics, Aspect, Joinpoint, Advice, Pointcut
  • Introduction to Spring AOP
    • Capabilities, Configuration (Annotation Based and XML), Weaving, Joinpoints
  • Using Aspects
    • Defining Advice, Configuring Pointcuts, Targets and Proxies
    • XML Configuration with <aop:>
    • AspectJ Pointcuts, Autoproxies
  • Using @AspectJ Annotations
    • @AspectJ Annotations, Declaring Advice

Session 6:  Spring Transaction (TX) Management

  • Intro to Spring Transaction Management
    • Overview, Component TX Model, TX Propagation, Declarative Transactions, TransactionManagers
  • Using Spring Transactions
  • Annotation Configured Transactions
    • @Transactional and its settings
  • XML Configured Transactions
    • new <tx:*> elements, Configuring tx:advice, and tx:attributes
    • Defining the TX advisor

Session 7:  Introduction to Spring Web Integration

  • Integrating Spring with Java EE Web Apps
    • ContextLoaderListener
    • WebApplicationContext
    • Using Spring beans in Wep app controller logic

Session 8:  Overview of Spring Security

  • Overview - Capabilities, Architecture
  • Introduction to Spring Security
    • HTTP Security
    • Method Security
    • Annotation-Based Security
    • Expression-Based Access Control
  • Authentication Providers
  • Key business drivers for using Spring 4.0
  • Architect change resilience into your code-base from the ground up
  • Keep it simple! Spring encourages the use of POJOs; simple lightweight Java objects
  • Only use what you need, and introduce Spring gradually into existing projects:
  • Spring encourages use of programming best-practices: Integrated testing, coding to interfaces.
  • Easily mix and match Spring solutions with Hibernate, EJB, and other J2EE and open source frameworks like Struts.
Receive the latest version of this course into your inbox

See why people choose JBI

"At jbi even the sales team are technical so you are able to ask questions before the course"

Garima Aon

Call our Tech Team :  0800 028 6400  request info


5th Jun 2017 - 3 days £1800 see discount £1620

see all dates


Show Discount for this course


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote

  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote





Get in touch
0800 028 6400



view all case studies



Our inspiring and up-to-date courses gain exceptional feedback

►"great tips to help reduce build times"
► "we got access to exclusive content"
► "intensive course meant less time off"

►"what an inspiring trainer !"
► "colleagues at 2 sites joined via web"
► "I passed my exam the next day"

Newsletter ! Get exclusive news about upcoming programs, technical insights & special offers