Spring

Reading Time: 9 minutes

Spring

    Module 1: Course Introduction
    • Introduction
    • Content still to come

    Module 2: Install and Setup

    • Which Version Of Java?
    • Installing JDK 11 on Windows
    • Installing and Configuring IntelliJ IDEA on Windows
    • Installing JDK 11 on a Mac
    • Installing and Configuring IntelliJ IDEA on a Mac
    • Installing JDK 11 on a Linux Machine
    • Installing and Configuring IntelliJ IDEA on a Linux Machine

    New Spring 5:

      Module 1: Maven and your first project

      • Your Programming Careers Questions Answered
      • Access to Programming Career Q&A
      • Spring 5 Feature Overview
      • Maven and Other Tools
      • Creating a Maven Project
      • Importing Maven Projects
      • Maven Lifecycle Plugin and Goals
      • Fix our Maven Project

      Module 2: Logging with SLF4J & Logback

      • What is Logging?
      • Using Logging with Logback
      • Logback Configuration

      Module 3: Multi module Spring Project

      • Project Overview
      • Create Multi Module Project
      • Project Setup
      • Using a Spring Container
      • Implementing the Game
      • Constructor Based Dependency Injection
      • Setter Based Dependency Injection
      • Setter or Constructor
      • Using Bean Lifecycle Callbacks
      • XML or Annotation Configuration
      • Autowiring Beans
      • Beans as Components
      • Using Java Annotation Configuration
      • Message Generator Challenge
      • Implementing MessageGenerator Logic
      • Console Module Setup Challenge
      • Application Events
      • Finish Game Logic
      • Using Qualifiers
      • Creating Custom Annotations
      • Using Properties
      • minNumber Challenge
      • Code Cleanup and Constructor Injection
      • Code Cleanup Challenge

      Module 4: Lombok Introduction

      • Lombok Introduction
      • Setup Lombok
      • Using Lombok
      • Lombok Challenge

      Module 5: Spring MVC

      • Spring MVC Introduction
      • Creating todo List Project
      • Project Setup Challenge
      • Setup Maven War Plugin
      • Setup Maven Cargo Plugin and Tomcat
      • Setup Dispatcher Servlet
      • Simple Controller
      • View Resolver and View
      • Spring MVC Request Processing
      • Model and Model Attributes
      • Simple Service Challenge
      • Request Parameters
      • Project Requirements
      • To Do Item Class
      • To Do Data Class
      • Creating the Todo Item Controller
      • Creating View and Basic JSTL tags
      • Todo Item Service Challenge
      • Implementing the Add Item Feature
      • Implementing Post Redirect Get Pattern
      • Home View and Navigation
      • Delete Item Challenge
      • Implement Edit Item Feature
      • View Item Challenge

      Module 6: Spring Boot 2 Introduction

      • Introduction to Spring Boot 2
      • Using Spring Initializr
      • Understanding Spring Boot Project Structure
      • Simple Spring Boot Application

      Module 7: Spring Boot 2 And Thymeleaf 3

      • Add Spring Boot to an Existing Project
      • Spring Boot Web Module
      • Thymeleaf Introduction
      • Setup Thymeleaf and Initial Template
      • Spring Boot Developer Tools
      • Game Service Challenge
      • Play Thymeleaf Template
      • Thymeleaf Preprocessing
      • Thymeleaf Template Challenge
      • Thymeleaf Fragments
      • Thymeleaf Fragment Challenge
      • Thymeleaf Decoupled Template Logic
      • Thymeleaf Decoupled Template Logic Challenge
      • Bug Fixes
      • Spring Internationalization
      • Thmyeleaf Internationalization Challenge
      • Message Generator Internationalization Main Message
      • Message Generator Internationalization Result Message
      • Request Interception
      • Locale Change Interceptor
      • Thymeleaf Recap

      Module 8: Gradle Introduction

      • What is Gradle?
      • Creating a Gradle Spring Boot Project
      • Gradle Build Lifecycle Projects and Tasks
      • Understanding the Gradle Scripts
      • Running Gradle Tasks
      • Simple Spring Gradle Application

      Module 9: Gradle Multi Module Project Setup

      • Creating a Spring Boot Project Challenge
      • Configure Gradle Multi-module Project
      • Configure Sub Modules
      • Testing our Project
      • More Content

      OLD Spring

        Module 1: Installation & Setup – Part 1

        • Install JDK for Windows
        • Install Eclipse for Windows
        • Install Tomcat for Windows
        • Configure Tomcat Within Eclipse for Windows
        • Install JDK for Mac
        • Install Eclipse for Mac
        • Install Tomcat for Mac
        • Configure Tomcat Within Eclipse for Mac
        • Install JDK for Linux
        • Install Eclipse for Linux
        • Install and Configure Tomcat for Linux

        Module 2: Introduction to Java EE

        • Introduction to JEE
        • Exploring Java EE basics: Drilling into the Concepts
        • Exploring Java EE basics: Building the Servlet
        • Exploring Java EE basics: Creating a JSP and running the App
        • Exploring Java EE basics: Adding a Service layer to the mix
        • Exploring Java EE basics: Adding JSTL Library Support
        • Exploring Java EE basics: JSTL in JSP
        • Exploring Java EE basics: Drilling into the Concepts

        Module 3: Installation and Setup – Part 2

        • Overview of Spring Tooling
        • Install Spring IDE
        • Installing Maven
        • Creating a Maven Project
        • Understanding the Project Object Model

        Module 4: Introducing Spring Framework

        • Why Spring
        • Overview of the Spring Framework
        • Spring Framework vs JEE
        • Introducing the Spring IoC containSpring IoC container: Accessing metadata from the file Spring IoC container: Accessing metadata from theSpring IoC Container Challenge
        • Setting Constructor Arguments using the Spring bean config file
        • Setting Properties using the Spring bean config file
        • Setter based Dependency Injection in Spring
        • Setter based Dependency Injection in Spring continued
        • Spring Setter based Dependency Injection in Spring : Running the App
        • Constructor based Dependency Injection in Spring
        • Spring Constructor based Dependency Injection : Running the App

        Module 5: Introducing Spring MVC

        • Creating Spring MVC Project Infrastructure
        • Adding dependencies in an alternative way in a Spring MVC Project
        • Adding Spring MVC Dispatcher Servlet
        • Building the Spring Controller – “C” part of MVC
        • Context and MVC Configuration
        • Autowiring collaborating objects in Spring
        • Bringing View Resolver in the mix and running the App

        Module 6: Bean Configuration

        • Bean scopes for a Spring Bean
        • Spring bean scopes: Singleton and Prototype
        • Spring bean scopes, Request and Session: creating the project and Java classes
        • Spring bean scopes, Request and Session: creating the config file and Controller
        • Spring bean scopes, Request and Session: Running the App
        • Customize Spring Bean with Callbacks
        • Standard Naming for Spring Bean Callbacks
        • Spring Bean instantiation using Static Factory and Instance Factory methods
        • Spring Bean Definition with C Namespace
        • Spring Bean Definition with P Namespace

        Module 7: Configuring Spring with Annotations

        • Pros and Cons of Spring Configuration : Annotations vs XML
        • Autowiring Spring Beans: creating project infrastructure
        • Autowiring Spring Beans: using setters, constructors and fields
        • Spring Beans as Components: Cutting down on xml config
        • Handling Properties in Spring: using XML config
        • Handling Properties in Spring: mixing XML with Annotations
        • Handling Properties in Spring using pure Annotations: creating infrastructure
        • Handling Properties in Spring using pure Annotations: building and running

        Module 8: Introducing MySQL

        • Install MySQL for Windows
        • Install MySQL on Mac
        • Install MySQL on Linux
        • MySQL Workbench Basics : Environment and table creation
        • MySQL Workbench Basics : Insert and Export

        Module 9: Working with Spring JDBC

        • Introduction to Spring JDBC
        • CRUD with Spring JDBC Template: Project Setup
        • CRUD with Spring JDBC Template: Creating DAO Layer
        • CRUD with Spring JDBC Template: XML config & Property file
        • CRUD with Spring JDBC Template: More with DAOs
        • CRUD with Spring JDBC Template: DAO and Test Harness
        • CRUD with Spring JDBC Template: Building App and executing Test Harness
        • CRUD with Spring JDBC Template: Expanding DAO Layer further
        • Spring JDBC Exceptions : an Overview
        • Spring Named Parameters Template: Understanding the API
        • Spring Named Parameters Template: Building the DAO
        • Spring Named Parameters Template : Components and Testing

        Module 10: Spring MVC in depth – Part 1

        • Spring Java Config: Creating the project infrastructure
        • Spring Java Config: Creating the Java and Web Configuration
        • Spring Java Config: Running the App
        • Fix minor error in WebMvcConfig
        • JNDI Datasource: Building the Spring Service and Controller
        • JNDI Datasource: Conceptual Overview and Configuration
        • JNDI Datasource: Building views and Running the App
        • Spring MVC Architecture Going Deeper
        • Spring Handler Mapping Customization: Creating the infrastructure
        • Spring Handler Mapping Customization: Seeing the effect of customization
        • Spring Interceptors: an Introduction
        • Spring Interceptors: Integrating and building views with CSS inline styling
        • Spring Interceptors: Continuing building the views with CSS Internal styling
        • Spring Interceptors: Continue building views with mixed styling
        • Spring Interceptors: Running the app with a closing summary
        • Introducing Logging
        • Logging: Working with SLF4J, a powerful logging API
        • Logging: LOG4J implementation and introducing Logger, Appender and Layout
        • Logging: Continuing with log4j and getting to know Conversion Patterns
        • Logging: Configuring log4j.properties and wrapping up
        • Spring Interceptors: Invoking all the Interceptor methods
        • Spring Interceptors: Running the app and wrapping up!

        Module 11: Spring MVC in depth – Part 2

        • Section Overview
        • RequestMapping and RequestParams In-depth : Introduction & test harness
        • RequestMapping and RequestParams In-depth : Class level mapping
        • RequestMapping and RequestParams In-depth : Wrapping up first test
        • RequestMapping and RequestParams In-depth : method attribute & fallback
        • RequestMapping and RequestParams In-depth : defaultAttribute and default naming
        • RequestMapping and RequestParams In-depth : resolving ambiguous request mapping
        • RequestMapping and RequestParams In-depth : multiple request mapping
        • Model Attributes on Methods in-depth: Adding multiple attributes
        • Model Attributes on Methods in-depth: working with ‘name’ attribute
        • Model Attributes on Methods in-depth: working with ‘value’ attribute
        • Model Attributes on Methods in-depth: working with ModelAndView API
        • Model Attributes on Methods in-depth: Introducing Spring Form Tag and Elements
        • Model Attributes on Methods in-depth: Exploring ModelAndView API
        • Model Attributes on Methods in-depth: Default data binding
        • Model Attributes on Methods in-depth: Implicit resolution of logical view name
        • Session Attributes: Creating the project infrastructure
        • Session Attributes: Bringing in the Controller
        • Session Attributes: Adding the JSPs
        • Session Attributes: Cranking the Java configuration
        • Session Attributes: Testing our application
        • Session Attribute & Request Attribute: an Introduction
        • Session Attribute & Request Attribute: Applying to Interceptor and Controller
        • Session Attributes, Session Attribute & Request Attribute: Testing all

        Module 12:Spring MVC in depth – Part 3 (Forms and Validation)

        • Spring Form Tags: An Overview
        • Spring Form Tags: Creating project infrastructure – part 1
        • Spring Form Tags: Creating project infrastructure – part 2
        • Spring Form Tags: SELECT tags – part 1
        • Spring Form Tags: SELECT tags – part 2
        • Spring Form Tags: SELECT tags – part 3
        • Spring Form Tags: CHECKBOX tags – part 1
        • Spring Form Tags: CHECKBOX tags – part 2
        • Spring Form Tags: CHECKBOX tags – part 3
        • Spring Form Tags: CHECKBOXES tags
        • Spring Form Tags: RADIOBUTTON & RADIOBUTTONS tags
        • Spring Form Validation: an Introduction
        • Spring Form Validation: Creating the project Infrastructure
        • Spring Form Validation: Creating the JSPs
        • Spring Form Validation: Running the first validation test
        • Spring Form Validation: Working with @Size and @Notblank validations
        • Spring Form Validation: Introducing Custom Validation Constraints
        • Spring Form Validation: Creating our first Custom Validation Constraint
        • Spring Form Validation: Regular Expression Validation
        • Spring Form Validation: Using Apache Commons API Validator
        • Spring Form Validation: Class Level Validation
        • Spring Form Validation: Final Changes and Test

        Module 13: IntelliJ Spring Section

        • IntelliJ Spring Config and Test Import
        • Import Non Web Based Project
        • Build Spring MVC Demo
        • Controller Service and JSP
        • Welcome Service and Add Beans

        OLD – NEW Spring 5

        • Install and setup
        • Which version of Java should you use?
        • How To Install The Java Development Kit (JDK) For Windows
        • Download and Install IntelliJ (FREE and PAID version) for Windows
        • How To Install The Java Development Kit (JDK) For Mac OS X
        • Download and Install IntelliJ (FREE and PAID version) on a Mac
        • How To Install The Java Development Kit (JDK) For Ubuntu Linux
        • Install and Configure IntelliJ (FREE and PAID version) for Ubuntu Linux