• phone icon +44 7459 302492 email message icon info@uplatz.com
  • Register
0- - 0
Job Meter = High

Core Spring

30 Hours
Online Instructor-led Training
USD 1399 (USD 2800)
Save 50% Offer ends on 30-Jun-2024
Core Spring course and certification
214 Learners

About this Course

Core Spring Course Overview

The Spring Framework is the leading Java EE solution for enterprise software.

This course covers Spring from Version 4 upwards, currently delivered using Version 5. It comprises sessions dealing with Dependency Injection (DI); Aspect Oriented Programming, (AOP); Spring Web including MVC, REST, and WebSocket; Spring Data including JDBC, ORM, and Transaction Management; Spring Security; and Spring Boot. It also includes an introduction to Reactive Programming, Spring WebFlux, and Spring Cloud.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
--------------------------------------------------------------------------------------------------------------------------------------

Who will the Course Benefit?

The Core Spring course will benefit Java developers who are new to Spring and want to develop large and complex enterprise-level applications.
---------------------------------------------------------------------------------------------------------------------------------------------

Course Objectives

This course aims to provide the delegate with the knowledge to be able to develop (or contribute to the development of) a Spring web app which exposes a RESTful API and that both reads and writes data to/from persistent storage. The web app should be secure insofar as it authenticates users, and restricts access. The delegate should also be aware of Spring Boot, Reactive Programming, Spring WebFlux, and Spring Cloud.
------------------------------------------------------------------------------------------------------------------------------------------------
This is a Core Spring course by Uplatz. 

Core Spring

Course Details & Curriculum

Core Spring Training Course

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO SPRING

  • What is Spring
  • Introduction to Dependency Injection
  • Introduction to Aspect Oriented Programming
  • Introduction to Templates
  • Application Context
  • The Lifecycle of a Spring Bean
  • Spring Modules (Projects)
  • What's new in Spring 5.0

Session 2: DEPENDENCY INJECTION (DI)

  • DI configuration options
  • DI with XML
  • DI with Java
  • Autowiring (DI with Annotations)
  • Importing and Mixing Configurations
  • Environments and Profiles
  • Conditional Beans
  • Bean Scope
  • Spring Expression Language (SpEL)

Session 3: ASPECT ORIENTED PROGRAMMING (AOP)

  • Terminology
  • Aspects with XML
  • Aspects with Annotations
  • AspectJ

Core Spring Training Course

Session 4: SPRING MVC

  • The Lifecycle of a Request
  • Spring Controllers
  • Request Parameters
  • Form Processing
  • View Resolution
  • Views: JSP, Thymeleaf et al.

Session 5: REST

  • REST Endpoints with Spring MVC
  • HTTP Message Converters
  • Errors and Headers
  • Consuming REST Resources using RestTemplate

Session 6: WEBSOCKET

  • WebSocket Handlers
  • Configuration with Java
  • Configuration with XML

Session 7: INTRODUCTION TO SPRING WEBFLUX (V5 ONLY)

  • Introduction to Reactive Programming
  • HTTP, Web, and Dispatcher Handlers
  • Annotated Controllers
  • Functional Endpoints
  • and more...

Core Spring Training Course

Session 8: SPRING DATA SOURCES

  • Embedded Data Source (for development and testing)
  • JDBC Driver
  • Connection Pool
  • JNDI
  • Profiles

Session 9: JDBC

  • JDBC Templates
  • Using a JDBC Template with Lambdas
  • Named Parameters

Session 10: ORM

  • Integrating Hibernate with Spring
  • Application-managed JPA
  • Container-managed JPA

Session 11: TRANSACTIONS

  • Transaction Strategy
  • Synchronizing Resources
  • Declarative Transaction Management
  • Programmatic Transaction Management

Core Spring Training Course

Session 12: SPRING SECURITY

  • User Details Services
  • Authentication
  • Authorization (URL Interception)
  • JSP Security Tag Library
  • Method-level Security
  • Filter Chain

Session 13: SPRING BOOT

  • Starter Dependencies
  • Autoconfiguration
  • CLI
  • Actuator
  • Spring Boot Applications

Session 14: INTRODUCTION TO SPRING CLOUD

  • Microservice Architecture
  • Service Registration
  • Load Balancing
  • and more..
----------------------------------------------------------

Job Prospects

---------------------------------------------------------------------------------------------------------------

Core Spring Interview Questions

---------------------------------------------------------------------------------------------------------------

1) What is Spring? 

It is a lightweight, loosely coupled and integrated framework for developing enterprise applications in java.
 

2) What are the advantages of spring framework? 

·      Predefined Templates

·      Loose Coupling

·      Easy to test

·      Lightweight

·      Fast Development

·      Powerful Abstraction

·      Declarative support

 
3) What are the modules of spring framework? 

·      Test

·      Spring Core Container

·      AOP, Aspects and Instrumentation

·      Data Access/Integration

·      Web

 
4) What is IOC and DI? 

IOC (Inversion of Control) and DI (Dependency Injection) is a design pattern to provide loose coupling. It removes the dependency from the program.
 

5) What is the role of IOC container in spring? 

IOC container is responsible to:

·      create the instance
·      configure the instance
·      assemble the dependencies

 
6) What are the types of IOC container in spring? 

There are two types of IOC containers in spring framework.

1.      BeanFactory

2.      ApplicationContext
 

7) What is the difference between BeanFactory and ApplicationContext? 

BeanFactory is the basic container whereas ApplicationContext is the advanced container. ApplicationContext extends the BeanFactory interface. ApplicationContext provides more facilities than BeanFactory such as integration with spring AOP, message resource handling for i18n etc.
 

8) What is autowiring in spring? 

Autowiring enables the programmer to inject the bean automatically. We don't need to write explicit injection logic.

Let's see the code to inject bean using dependency injection. 

class="com.javatpoint.Employee" autowire="byName" />  

 
9) In which scenario, you will use singleton and prototype scope? 

Singleton scope should be used with EJB stateless session bean and prototype scope with EJB stateful session bean.


10) What are the transaction management supports provided by spring?
 

Spring framework provides two type of transaction management supports:

1.      Programmatic Transaction Management: should be used for few transaction operations.

2.      Declarative Transaction Management: should be used for many transaction operations.

 
11) What are the advantages of JdbcTemplate in spring? 

Less code: By using the JdbcTemplate class, you don't need to create connection,statement,start transaction,commit transaction and close connection to execute different queries. You can execute the query directly.

 
12) What are classes for spring JDBC API? 

1.      JdbcTemplate

2.      SimpleJdbcTemplate

3.      NamedParameterJdbcTemplate

4.      SimpleJdbcInsert

5.      SimpleJdbcCall

 
13) How can you fetch records by spring JdbcTemplate? 

You can fetch records from the database by the query method of JdbcTemplate. There are two interfaces to do this:

1.      ResultSetExtractor

2.      RowMapper

 
14) What is the advantage of NamedParameterJdbcTemplate? 

NamedParameterJdbcTemplate class is used to pass value to the named parameter. A named parameter is better than ? (question mark of PreparedStatement).
 

15) What is the advantage of SimpleJdbcTemplate? 

The SimpleJdbcTemplate supports the feature of var-args and autoboxing.
 

16) What is a Spring configuration file? 

A Spring configuration file is an XML file. This file mainly contains the classes information. It describes how those classes are configured as well as introduced to each other. The XML configuration files, however, are verbose and more clean. If it’s not planned and written correctly, it becomes very difficult to manage in big projects.
 

17) What are the different components of a Spring application? 

A Spring application, generally consists of following components:

  • Interface: It defines the functions.
  • Bean class: It contains properties, its setter and getter methods, functions etc.
  • Spring Aspect Oriented Programming (AOP): Provides the functionality of cross-cutting concerns.
  • Bean Configuration File: Contains the information of classes and how to configure them.
  • User program: It uses the function.

 
18) What are the various ways of using Spring Framework? 

Spring Framework can be used in various ways. They are listed as follows:

1.       As a Full-fledged Spring web application.

2.      As a third-party web framework, using Spring Frameworks middle-tier.

3.       For remote usage.

4.      As Enterprise Java Bean which can wrap existing POJOs (Plain Old Java Objects).

 
19) What do you mean by Dependency Injection? 

In Dependency Injection, you do not have to create your objects but have to describe how they should be created. You don’t connect your components and services together in the code directly, but describe which services are needed by which components in the configuration file. The IoC container will wire them up together.
 

20) In how many ways can Dependency Injection be done? 

In general, dependency injection can be done in three ways, namely :

  • Constructor Injection
  • Setter Injection
  • Interface Injection

In Spring Framework, only constructor and setter injections are used.

 
21 Explain Spring Beans? 

  • They are the objects that form the backbone of the user’s application.
  • Beans are managed by the Spring IoC container.
  • They are instantiated, configured, wired and managed by a Spring IoC container
  • Beans are created with the configuration metadata that the users supply to the container.

 
22) How many bean scopes are supported by Spring? 

The Spring Framework supports five scopes. They are:

  • Singleton: This provides scope for the bean definition to single instance per Spring IoC container.
  • Prototype: This provides scope for a single bean definition to have any number of object instances.
  • Request: This provides scope for a bean definition to an HTTP-request. 
  • Session: This provides scope for a bean definition to an HTTP-session. 
  • Global-session: This provides scope for a bean definition to an Global HTTP-session. 

 
23) What is the Bean life cycle in Spring Bean Factory Container? 

Bean life cycle in Spring Bean Factory Container is as follows:

1.      The Spring container instantiates the bean from the bean’s definition in the XML file.

2.      Spring populates all of the properties using the dependency injection, as specified in the bean definition.

3.      The factory calls setBeanName() by passing the bean’s ID, if the bean implements the BeanNameAware interface.

4.      The factory calls setBeanFactory() by passing an instance of itself, if the bean implements the BeanFactoryAware interface.

5.      preProcessBeforeInitialization() methods are called if there are any BeanPostProcessors associated with the bean.

6.      If an init-method is specified for the bean, then it will be called.

7.      Finally, postProcessAfterInitialization() methods will be called if there are any BeanPostProcessors associated with the bean.

 
24) Explain inner beans in Spring 

A bean can be declared as an inner bean only when it is used as a property of another bean. For defining a bean, the Spring’s XML based configuration metadata provides the use of  element inside the  or . Inner beans are always anonymous and they are always scoped as prototypes.

25) Define Bean Wiring

When beans are combined together within the Spring container, it’s called wiring or bean wiring. The Spring container needs to know what beans are needed and how the container should use dependency injection to tie the beans together, while wiring beans.


26) What are the limitations with auto wiring?

Following are some of the limitations you might face with auto wiring:

• Overriding possibility: You can always specify dependencies using and settings which will override autowiring.

• Primitive data type: Simple properties such as primitives, Strings and Classes can’t be autowired.

• Confusing nature: Always prefer using explicit wiring because autowiring is less precise.

---------------------------------------------------------------------------------------------------------------


Didn't find what you are looking for?  Contact Us

course.php