Spring Framework Training

Spring Framework Training

  • 40 hours of instructor led online class
  • Learn from Spring Experts
  • Practical exercises to supplement theoretical learning
Group Discount

Overview

KnowledgeHut brings you a course that will introduce you to the basics of the architecture, its internal workings, and aspect oriented programming, slowly progressing to the more advanced concepts of XML dependency injection, REST, JMS, JMX and Spring Security.

A framework that handles all the infrastructure so that developers can concentrate on code development, a framework that enables building applications from POJOs (plain old Java objects), and a framework that enhances modularity and provides more readable codes. That is Spring —one among the most widely used enterprise level Java application frameworks in the world today.

Our practical, hands-on approach will ensure that you are ready to create secure, robust applications using the Spring framework.

What You Will Learn

  • Understand the core principles of Spring, and of Dependency Injection (DI) / Inversion of Control

  • Use the Spring Core module and DI to configure and wire application objects (beans) together

  • Learn of  different metadata (XML, annotations/@Component, and Java Configuration/@Configuration)

  • Use capabilities of the Core module, such as lifecycle events, bean scopes, and the Spring API

  • Use Spring Boot to simplify dependency management and configuration

  • Work with the ORM module to integrate Spring with technologies such as Hibernate or JPA

  • Use Spring Data to automatically generate JPA-based repository classes

  • Use Spring's transaction support-Java annotation support, and tx/aop XML configuration elements

  • Integrate Spring with Java EE Web applications

  • Build Web applications with Spring MVC, Java config and Servlet 3 capabilities

  • Understand and use the core capabilities of Spring's Reactive programming support

  • Understand REST, and use Spring MVC to build RESTful services

  • Use Ajax-based front ends with Spring MVC / Spring REST

  • Work with XML specific configuration (optional)

Prerequisites

All attendees must have at least one year of full-time Java and JSP development experience. Prior experience with servlets and JSP is recommended but not required.

Who Should Attend

  • Developers and architects who are expected to work on Java frameworks
  • Students who wish to embark on their careers in Spring framework.

Knowledgehut Experience

Instructor-led Live Classroom

Interact with instructors in real-time— listen, learn, question and apply. Our instructors are industry experts and deliver hands-on learning.

Curriculum Designed by Experts

Our courseware is always current and updated with the latest tech advancements. Stay globally relevant and empower yourself with the latest tools and training.

Learn through Doing

Learn theory backed by practical case studies, exercises and coding practice. Get skills and knowledge that can be effectively applied in the real world.

Mentored by Industry Leaders

Learn from the best in the field. Our mentors are all experienced professionals in the fields they teach.

Advance from the Basics

Learn concepts from scratch, and advance your learning through step-by-step guidance on tools and techniques.

Code Reviews by Professionals

Get reviews and feedback on your final projects from professional developers.

Curriculum

  • Overview of Spring Technology
    • The Motivation for Spring, Spring Architecture
    • The Spring Framework
  • Spring Introduction
    • Declaring and Managing Beans
    • ApplicationContexts
    • Using @Component/@Named
  • Dependencies and Dependency Injection (DI)
    • Examining Dependencies
    • Dependency Inversion / Dependency Injection (DI)
    • XML Configuration of DI
    • Injection with @Autowire

Configuration in Depth

  • Java Based Configuration (@Configuration)
    • Overview, @Configuration, @Bean
    • Dependency Injection
    • Resolving Dependencies
  • Integrating Configuration Types
    • XML vs. @Component
    • @Configuration Pros and Cons
    • Choosing a Configuration Style
    • Integrating Configuration Styles
  • Bean Scope and Lifecycle
    • Singleton, Prototype, and Other Scopes
    • Configuring Scope
    • Bean Lifecycle / Callbacks
  • Externalizing Properties
    • Properties Files
    • @PropertySource, property-placeholder
    • Using @Value
    • SpEL
  • Profiles
    • Overview and Configuration
    • Activating Profiles
  • maven and Spring
  • Spring Boot Structure
  • Spring POMs with Boot Parents
  • Spring Boot Starters
  • Other Capabilities
  • Testing and JUnit Overview
    • Writing Tests - Test Classes, asserts, Naming Conventions
    • Running Tests - IDE, maven, ...
    • Test Fixtures - setup and teardown
  • Spring TestContext Framework
    • Overview
    • Configuration
    • Running Tests
  • Overview of Spring database support
  • Configuring a DataSource
  • Using Spring with Hibernate
    • High-Level Hibernate Overview
    • SessionFactory configuration, LocalSessionFactoryBean
    • Contextual Sessions and Spring Integration
  • Using Spring with JPA
    • Managing the EntityManager (EM)
    • LocalContainerEntityManagerFactoryBean and Container-managed EMs
    • JEE and JNDI Lookup of the EM
    • Configuration and Vendor Adaptors
    • Creating a JPA Repository/DAO Bean - @PersistenceUnit, @PersistenceContext
  • Spring Data Introduction
    • Overview and Architecture
    • Configuring Spring Data
    • Repositories and JPA Repositories
    • Using CrudRepository
  • Spring Data Querying
    • Naming Conventions for Querying
    • Creating more Complex Queries
    • Query Configuration
  • Overview
  • Declarative TX Management (REQUIRED, etc.)
  • TX Scope and Propagation
  • XML Configuration of Transactions
    • Specifying Advice, TX Attributes, and Methods
    • Linking Advice with Pointcuts
    • Benefits of XML Configuration of TX Behavior
  • Java EE Web App Integration
  • ContextLoaderListener and WebApplicationContext
  • Web MVC Overview
  • Spring MVC Basics
    • Configuration and the DispatcherServlet
    • @Controller, @RequestMapping (Handlers)
    • @RequestParam and Parameter Binding
    • View Resolvers
    • Controller Details - @RequestParam, @PathVariable
    • Model Data and @ModelAttribute
  • @ModelAttribute and Reference Data
  • Forms and Binding, Spring Form Tags
  • Sessions and @SessionAttributes
  • Validation / JSR-303
  • REST Overview, URI Templates
  • REST and Spring MVC
  • Spring support for REST
  • @RequestMapping/@PathVariable, @RequestBody, @ResponseBody
  • URI Templates and @PathVariable
  • Controllers with @RestController
  • Generating JSON
    • JSON Overview
    • JSON Representations for Resources
    • Message Converters
  • Generating XML
    • JAXB and Jackson Message Converters for XML
    • JAXB / @XmlRootElement
  • Content Negotiation
  • Client Requirements and Spring's RestTemplate
  • getForObject() / getForEntity()
  • Other RestTemplate Methods
  • Accessing Headers / exchange()
  • GET: Read
  • POST: Create
  • PUT: Update
  • DELETE: Delete
  • Programming on server side, and client side (with RestTemplate)
  • Updates to Spring Core
  • WebFlux / Reactive Web Framework
  • Collections - lists, sets, etc.
  • Additional Capabilities
    • Factory Classes and Factory Methods
    • Definition Inheritance (Parent Beans)
    • AutoWiring with XML
    • Inner Beans, Compound Names
  • What are Microservices?
  • Decentralized Governance, Scaleability, Fault Tolerance
  • Cloud Computing
  • Spring Cloud
  • Service and Client Discovery
  • Netflix OSS
  • Service Discovery
  • Eureka Servers and Clients
  • Load Balancing with Ribbon using Eureka
  • Load Balancing with Ribbon without Eureka
  • When services fail
  • Circuit Breakers - Hystrix
  • Acquiring and Integrating Spring Security
  • Relationship to Spring
  • Relationship to Java EE Standards
  • Basic Configuration
  • How It Works
  • Integration: LDAP, CAS, X.509, OpenID, etc.
  • Integration: JAAS
  • The <http> Configuration
  • The <intercept-url> Constraint
  • The <form-login> Configuration
  • Login Form Design
  • "Remember Me"
  • Anonymous "Authentication"
  • Logout
  • The JDBC Authentication Provider
  • The Authentication/Authorization Schema
  • Using Hashed Passwords
  • Why Hashing Isn't Enough
  • Using Salts
  • PasswordEncoder and SaltSource
  • Key Lengthening
  • Channel Security
  • Session Management
  • URL Authorization
  • Programmatic Authorization: Servlets
  • Programmatic Authorization: Spring Security
  • Role-Based Presentation
  • The Spring Security Tag Library

Conclusion

Project

Project

This is a beginner to moderate intermediate level project about developing an Online Banking System using latest web technologies with hands-on experience. 

Read More

reviews on our popular courses

The trainer gave real-life examples of where the course subject could be used which made it actually interesting and challenging. I would highly recommend the training to others.

Review image

Zeenath Banu

Senior Software Engineer
Attended Certified Scrum Product Owner®(CSPO) Certification workshop in July 2018

Excellent CSM training by Madhur!

Review image

SUNEEL YENAMANDRA

Consultant software dev
Attended Certified ScrumMaster®(CSM) workshop in October 2018

A wonderful training!

Review image

Balaji pradeep Chandrasekaran

Scrum master
Attended Certified ScrumMaster®(CSM) workshop in March 2018

Overall, it was a good learning experience.

Review image

SOMARUN DAS

Senior System Engineer
Attended Certified ScrumMaster®(CSM) workshop in January 2019

Faq

The Course

KnowledgeHut offers a cutting edge course that will help you kick start a career in application development using Spring Framework. From a comprehensive theory, loads of practical sessions, Q & A sessions, and coaching from experienced tutors, you will master the art of developing robust, well-written applications on the Java framework. This is an excellent program for developers who want to work on the most happening Java application framework with ease and confidence.
According to PayScale, Java developers with Spring skills can earn an average salary of $73,814 per year, with a reported salary range of $53,733 to $104,798 per year. This is the right time for you to enroll in this course.

  • Use Spring Boot to quickly prototype a web app
  • User Thymeleaf as Java template engine
  • Develop domain classes to model the business entities
  • Use Spring Security to build up the security layer for your app
  • Use database as source of credentials for security login
  • Use Spring Data, JPA and Hibernate to build up the persistence layer
  • Use Spring Boot to host REST service resources

You will have advanced knowledge of spring API and can work on any complex project in Realtime

All attendees must have at least one year of full-time Java and JSP development experience. Prior experience with servlets and JSP is recommended but not required.

Yes, KnowledgeHut offers this training online.

On successful completion of the course you will receive a course completion certificate issued by KnowledgeHut.

Your instructors are Spring Framework experts who have years of industry experience.

Finance Related

Any registration cancelled within 48 hours of the initial registration will be refunded in FULL (please note that all cancellations will incur a 5% deduction in the refunded amount due to transactional costs applicable while refunding) Refunds will be processed within 30 days of receipt of written request for refund. Kindly go through our Refund Policy for more details: http://www.knowledgehut.com/refund

KnowledgeHut offers a 100% money back guarantee if the candidate withdraws from the course right after the first session. To learn more about the 100% refund policy, visit our Refund Policy.

The Remote Experience

In an online classroom, students can log in at the scheduled time to a live learning environment which is led by an instructor. You can interact, communicate, view and discuss presentations, and engage with learning resources while working in groups, all in an online setting. Our instructors use an extensive set of collaboration tools and techniques which improves your online training experience.

  • JDK 8 or later (required for Spring 5)
  • Spring Tool Suite, Eclipse for Java EE Developers, or another IDE of your choice
  • Tomcat 8 or later (or another servlet container, upon request)
  • For classes delivered online, all participants need either dual monitors or a separate device logged into the online session so that they can do their work on one screen and watch the instructor on the other. A separate computer connected to a projector or large screen TV would be another way for students to see the instructor's screen simultaneously with working on their own.

Have More Questions?