Introduction to Spring
Learning Objectives – In
this module, you will understand what Spring Framework is and why it
is so popular. You will learn Spring Framework architecture and
features it offers to developers. What are Inversion of Control
(IOC) and famous Dependency Injection? Controlling a bean life cycle.
Topics – Introduction
to Spring Framework, Why Spring, Java Frameworks, Spring Framework
architecture, Object Coupling Problem, Loose coupling and Tight
coupling, Dependency Injection and its types, Bean Life cycle, Bean
scopes (singleton and prototype), Annie’s Quizzes, LAB, Q & A,
Quick Recap.
Spring Configurations
Learning Objectives – In this module, you will learn
about different ways of configuring the beans in Spring. In
addition you will learn about the configuration mechanisms and the
Application Programming Interfaces (APIs) provided by Spring for
configuration using simple examples. You will learn to write
expressions using various features provided by SpEL and using them
to access the beans. You will also learn the core SpEL API that is
in use in Spring applications.
Topics – What is Autowiring, Different types of
autowiring, Implementing autowiring in different ways, Spring bean
definition inheritance, Specifying default values using @value
annotation, Autowiring bean using @Autowired, Resolving bean using
@Qualifier, Defining a component using @Component, Using
@PostConstruct and @PreDestroy, Automatic Bean discovery in a
Spring application, Using Spring Expression Language(SpEL),
Annie’s Quizzes, LAB, Q & A, Quick Recap.
Aspect Oriented Programming and DAO
Learning Objectives – In this module, you will learn about
the limitations of using OOPs and the need for Aspect Oriented
Programming (AOP). Next, you will learn about the core
functionalities of AOP and the problems it solves. You also use AOP
with Spring framework.This module will introduce Spring
framework support for using JDBC and discusses all the classes and
interfaces provided by it.
Topics – What is
Aspect Oriented Programming (AOP),AOP terminologies,
Implementing MethodBeforeAdvice, Implementing
AfterReturningAdvice, Implementing MethodInterceptor, Implementing
ThrowsAdvice, What is AspectJ, AspectJ provided annotations like
@Aspect,@Before etc., Data Access Object (DAO)pattern, Using
property files, Annie’s Quizzes, LAB, Q & A, Quick Recap.
Data Access
Learning Objectives – In this module, we will learn the
use of template classes and methods for JDBC operations with
the help of examples. You will also learn about
exception handling and executing stored procedures. We will
develop a Spring application using the JDBC APIs. We will
discuss the need of ORM framework and their advantages. We
will look simple examples while discussing the Spring API for
ORM. We will also discuss the use of transactions with
frameworks using the Spring framework.
Topics – Using Jdbc Template, Binding variables in
database query, Mapping database rows to Java class, Jdbc
Batch Processing, What is Hibernate, Working With Hibernate,
Integrating Hibernate with Spring, Database Transaction,
Spring support for Database transactions, Annie’s Quizzes,
LAB, Q & A, Quick Recap.
Spring Web
Learning
Objectives – We will discuss the need of MVC pattern for web
developers. We will discuss the spring MVC architecture and API.
You also learn how to develop few applications using Spring MVC.
We will use Java Server Pages as the view component and we
will discuss using them in Spring MVC applications. As
alternatives to JSP, we will take a look on Tiles framework to
define a master layout for web applications.
Topics –
Spring MVC Architecture, MVC Components, Setup
Spring MVC Application, Writing a Spring MVC application,
Exception Handling, Apache Tiles.
Integrating Struts 2, JSF with Spring, Spring Web Flow
Learning
Objectives – In this module, we will start with introduction to
Struts 2.x and JSF technologies. We will see how Strut 2.x
applications configure to use Spring easily. We will see how
JSF resolver resolves the value binding expressions used for
performing a look up in the Spring configuration files. We will
discuss details of mechanisms of using Spring with JSF and Struts
applications. We will also understand how Spring Web Flow is
motivated and how Spring Web Flow works.
Topics –
Understand Struts 2 and JSF, Integration Spring with Struts,
Developing a Struts 2 application, Integrating JSF with Spring,
Developing a JSF application, Spring Web Flow.
Spring Security
Learning Objectives – In this module, we will
learn how to integrate Spring Security with a Spring MVC web
application to secure a URL access. Also learn how to limit login
attempts in Spring Security, how to implement “Remember Me” login
features, storing a hash a password and perform a login
authentication. We will also see adding Log4j for Logging and
writing test cases with JUnit.
Topics – Spring features for Securing
applications, Implementing Remember me feature, Storing Encrypted
Passwords, Restricting the number of login attempts, Logging with
Log4j, Writing test cases with JUnit.
Spring Integration
Learning Objectives – In this module, we look into Enterprise
Integration from a general standpoint. How Spring Integration
enables lightweight messaging within Spring-based applications and
supports integration with external systems via declarative adapters.
We discuss the problem space that Spring Integration Framework is
addressing and the introduction to the basic building blocks of the
framework—the messages, channels, and endpoints. You will understand
how Spring Integration Framework is a perfect fit for any Enterprise
or standalone messaging application and how to start working on real
world projects.
Topics – Introduction to messages, channels, and Endpoints,
Receiving Messages, Common Endpoints, Endpoint API, Message Flow
components, Introduction to Adapters.