Target Participants
The primary target audience for this course is software developers / programmers.
- Students new to Spring Boot
- Students new & existing to the Spring Framework
- You should NOT take this course if you have never used Java before.
Program Prerequisites
- Students should be familiar with the Java programming language
- Web Development Experience (HTML / CSS / JavaScript)
- A computer that can run Spring Tools Suite
- Familiar with MVC
Course Content
- Writing Java Programs
- What is a Java Program
- Writing the Source Code
- Compiling the Source Code
- Running the Compiled Code
- Installing and configuring Eclipse IDE
- Downloading and Installing Maven
- Testing Maven Installation
- Data Types
- What is a Data Types
- What is an Identifier
- Primitive Data Types in Java
- Special Floating-Point Numbers
- Rounding Modes
- Number Objects
- String Objects
- Format data for output
- Wrapper Classes
- Autoboxing and Unboxing
- Beware of Null Values
- Overloaded Methods
- Comparison Operators
- Collections
- Operators
- What is an Operator
- Assignment Operator
- Arithmetic Operator
- String Concatenation Operator
- Relational Operators
- Boolean Logical Operators
- Statements
- What is a Statement and Type of Statements
- A Block Statement
- The if-else Statement
- The switch Statement
- Strings in Switch
- The for Statement
- The for-each Statement
- The while Statement
- The do-while Statement
- The break Statement
- The continue Statement
- Diamond Syntax
- Classes and Objects
- What is a Class
- Declaring Fields in a Class
- Creating Instances of a Class
- The null Reference Type
- Using Dot Notation to Access Fields of a Class
- Default Initialization of Field
- Access Level Modifiers for a Class
- Import Declaration
- Declaring Methods of a Class
- Local Variables
- Instance Method and Class Method
- Invoking a Method
- Access Level for Class Members
- The Object and Objects Classes
- The Object Class
- What is the Class of an Object
- Computing Hash Code of an Object
- Comparing Objects for Equality
- String Representation of an Object
- Cloning Object
- Finalizing an Object
- Immutable Objects
- The Objects Class
- Java Package
- Package declaration
- Sub-Packages in Java
- Naming Convention
- Importing Java Package
- Access Modifier
- Java Archive (JAR) Files
- Exception Handling
- What is an Exception
- Using a try-catch Block
- Exception Class Hierarchy
- Arranging Multiple catch Blocks
- Throwing an Exception
- Creating an Exception Class
- The finally Block
- The try-with-resources Block
- Multi-Catch Exceptions
- Re-throwing Exceptions
- Try with Resources
- AutoCloseable Interface
- Arrays Strings Dates Time
- What is an Array
- Arrays are Objects
- Accessing Array Elements
- Length of an Array
- Multi-Dimensional Arrays
- Enhanced for Loop for Arrays
- Runtime Array Bounds Check What is a String
- String Literals
- Creating String Objects
- String Operators
- Comparing Two Strings
- StringBuilder and StringBuffer
- The Date-Time API
- Calendar Systems
- Clocks and Period Packages
- Period between Two Dates and Times
- Partials
- Formatting Dates and Times
- Parsing Dates and Times
- Wrapper Classes
- Autoboxing and Unboxing
- Beware of Null Values
- Overloaded Methods
- Comparison Operators
- Issues with existing Date / Time APIs
- LocalDate, LocalTime and LocalDateTime
- Using ZonedDateTime API
- Using Period and Duration
- Compatibility with Date and Calendar
- Date and Time Formatting
- The Collections Framework
- The Set Interface
- Set Implementation Classes
- The List Interface
- List Implementation Classes
- The Map Interface
- Map Implementation Classes
- Inheritance
- What is Inheritance
- The instanceof Operator
- Binding
- Method Overriding and Method Overloading
- Method Hiding and Field Hiding
- Disabling Inheritance
- What is an Interface
- Implementing an Interface
- Implementing Multiple Interfaces
- Interface Inheritance
- The instanceof Operator
- Marker Interfaces
- Functional Interfaces
- Polymorphism – One Object, May Views
- Dynamic Binding and Interfaces
- Pluggable Annotation Processing API
- Common Annotations and Role Based Annotations
- @Generated
- @Resource
- @Resources
- @PostConstruct
- @PreDestroy
- @DeclareRoles
- @RolesAllowed
- @PermitAll
- @DenyAll
- Lambda Expressions
- Single method Interface
- Anonymous Interface Implementation
- Lambda Type Inference
- Lambda Parameters
- Lambda Function Body
- Returning a Value
- Lambdas as Objects
- Variable Capture
- Method References as Lambdas
- Java Stream API for Bulk Data Operations on Collections
Introduction
- Stream Creation
- Referencing a Stream
- Stream Pipeline
- Lazy Invocation
- Order of Execution
- Stream Reduction
- Parallel Streams
- Concurrency API improvements
- The Concurrency API
- Semaphore and Other Synchronizers
- Concurrent Collections
- Atomic Operations
- Executor and Executor Service
- Thread Pools
- Parallel Processing
Programme scope, delivery arrangements and suitability are confirmed during enquiry.