
Advance your Java skills by mastering object-oriented concepts, arrays, lists, maps, collections, generics, lambda expressions, and stream API. Design and deploy Spring Boot microservices with RESTful web services.
Set up your Java development environment by installing OpenJDK (AdoptOpenJDK, JDK 11 LTS) and Marvin, configure the java home, and choose Eclipse as your IDE.
Create a first Java project using Maven and Eclipse, configure Marvin lifecycle, generate a jar, and run it to print hello world, illustrating package structure and main method.
Explore object oriented programming basics, including objects and classes, packages, state and behavior, encapsulation with getters and setters, inheritance from an animal base class, and interfaces with make sound implementations.
Explain instance variables as non static and per object, class variables as static and shared, and local scope, using a dog example and primitive types with wrappers.
Learn how arrays serve as fixed-size containers for values of a single type with zero-based indexing. Create and access one- and two-dimensional arrays, handle bounds, and store objects in arrays.
Learn how Java operators perform operations on variables and values, including arithmetic, relational, conditional, assignment, increment/decrement, bitwise, and the ternary operator, with practical examples.
Explore control flow statements in Java, including if, if-else, switch, for, while, do-while, break, continue, and return, with boolean and array examples.
Learn classes and objects, access modifiers, constructors, this, final, enums, and varargs while implementing product and promotions interfaces for computer, camera, cell phone, and speaker in a Maven electronics project.
Build a Java electronics package with a base electronics class and four derived classes: computer, camera, cell phone, and speaker, and manage open box state and display behavior.
Explore object oriented programming part two, covering inheritance types: single, multi-level, hierarchical; Java's stance on inheritance, and runtime polymorphism with method overriding and overloading, using electronics and computers as examples.
Explore method overriding and runtime polymorphism in Java by overriding product info in electronics, compare abstract class and interface, and learn default methods, overloading, encapsulation, and diamond problem.
Master enum usage and constants in java, compare enum versus static final constants for promotions like BOGO and free item promos, and cover basic input/output with system.in and system.out.
Master how lambda expressions implement a functional interface, an interface with one method, using the @functionalInterface safeguard in Java eight, as shown with calculate saving.
Explore the var keyword introduced in Java 10, a local variable type inference feature that must be initialized and cannot be a class member.
Learn how generics in Java enable classes and methods to operate on different data types with compile-time type safety, illustrated by generic methods and a generic class example.
Explore the Java collections framework and the root collection interface, then learn about array list and linked list, generics, and methods like add, get, and for each loop, with differences.
Learn how to compare objects in Java by overriding equals and hashCode in a person class, and use Comparable and Comparator to sort by first name, last name, and age.
Explore java set implementations—hashset, linkedhashset, and treeset—covering duplicates handling, insertion, and natural ordering. See how equals and hashCode govern duplicates, and how comparator and comparable control sorting of custom objects.
Explore map interface and hash map, linked hash map, and tree map for key-value storage, show how duplicate keys update values, and how entry sets, key sets, and values work.
Master the Java 8 stream API by using sources like collections and files to perform on-demand computations with intermediate operations (map, filter, sort) and a terminal operation, including parallel streams.
Explore Java eight's date time api, replacing java.util.date and calendar with local date time, local date, local time, and john date time immutable classes, and learn about period and duration.
Explore rest api concepts such as representational state transfer, client-server architecture, http requests, and stateless communication in microservices and set up the environment.
Create a spring boot project in eclipse using maven and java 11, install spring tool 4, and configure dependencies. Test the REST API with postman.
Explore rest api methods including get, post, put, and delete, learn how Postman sends requests and handles json responses, and understand status codes 200, 201, 301, 400, and 500.
Explore JSON basics: a lightweight, language independent format used by Java, Dotnet, and Golang to exchange data via key‑value pairs and types like string, number, object, array, boolean, and null.
Set up a Spring Boot starter project, add web dependency, and expose a rest controller with a get mapping '/hello' returning a message on port 8081.
Extend a Spring Boot microservice by building a get mapping that assembles first and last names from path variables, handles optional age via request param, and returns a JSON person.
Refactors the rest controller to delegate to a component and a service, and explains repository and service annotations, utilizing autowiring and component scanning to return a person object as JSON.
Explore implementing get, post, put, and delete mappings in Spring Boot, including header validation and Jackson JSON conversion, and follow best practices for resource creation, modification, and deletion.
Explore exception handling and logging in a Spring Boot microservice, creating runtime, business, and system exceptions, and returning error responses with an id and message.
This course is designed to provide an in-depth understanding of Java programming concepts and the Spring Boot framework for intermediate and advanced Java programmers. This comprehensive course covers core Java concepts and the Spring Boot framework, which is widely used for developing microservices.
In this course, you will thoroughly review object-oriented programming (OOP) concepts, such as classes, objects, inheritance, polymorphism, encapsulation, and abstraction. You will also be introduced to basic data structures like arrays, lists, and maps and learn about advanced Java features like generics, annotations, and lambda expressions. This will provide a solid foundation for understanding the Spring Boot framework.
Moving on to the Spring Boot framework, you will learn how to build and configure microservices using Spring Boot, create RESTful web services, and integrate with databases using Spring Data. You will also learn to test and deploy your applications using popular tools like Maven. The course covers all the key concepts and best practices for developing microservices with the Spring Boot framework, including security, error handling, and performance optimization.
This course is designed for Java programmers of all levels who want to build scalable and efficient applications using the latest technologies. Whether you want to expand your skill set, enhance your knowledge, or start a new career, this course provides a comprehensive learning experience to help you achieve your goals. By the end of this course, you will be equipped with the skills and knowledge to build robust, scalable, and efficient microservices using the Spring Boot framework.