Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

The Ultimate Java Masterclass: Beginner To Coding Superstar!

Posted By: ELK1nG
The Ultimate Java Masterclass: Beginner To Coding Superstar!

The Ultimate Java Masterclass: Beginner To Coding Superstar!
Published 10/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 19.30 GB | Duration: 29h 37m

Master Java’s #1 Technologies and Become a Pro Developer with Spring, Spring Boot, Maven, JUnit, Mockito and more!

What you'll learn

Master Java from scratch with no prior experience required, gaining a strong foundation in one of the world’s most popular and high-demand programming languages

Learn industry-standard tools like Maven, Spring, and Spring Boot, used by top companies to develop modern Java applications, and boost your job-ready skills.

Understand the inner workings of Java frameworks, making you stand out from other developers and giving you confidence in interviews and professional settings.

Develop functional programming skills in Java, a highly sought-after skill in today’s job market, making your resume more competitive.

Master testing with JUnit and Mockito, ensuring your code is reliable and ready for professional environments—skills that hiring managers look for.

Get insights from real-world Java professionals, learning tips and tricks that take years to master, speeding up your journey to becoming a high-paid developer.

Start unlocking a high-paying career as a Java developer with the confidence and expertise to tackle real-world coding challenges right away!

Requirements

No prior programming experience needed—this course is designed for absolute beginners.

No software or tools required upfront—we’ll guide you through setting everything up step-by-step.

Basic computer literacy (using a PC or Mac) is all you need to get started.

Curiosity and motivation to learn Java and start your programming journey.

Willingness to practice what you learn with simple, guided exercises and real-world examples.

Open mind for learning new concepts—we break down complex ideas into easy-to-understand lessons!

Description

Master Java: Your Path to a High-Paying Software Engineering Career!Are you ready to kickstart a rewarding career in software engineering? Welcome to Introducing Java, the ultimate Udemy course that will set you up for success in one of the most lucrative and in-demand fields in tech—Java development!This isn’t just any programming course; it’s a complete career roadmap, brought to you by a seasoned Java professional with over 25 years of experience, including working with global giants like Goldman Sachs and agile startups. If you're serious about mastering Java and launching a well-paid career, this course is your ticket.Why This Course?You'll learn Java from the ground up, gaining hands-on experience with real-world examples. But we don't stop at just teaching you to code. You'll dive into industry-standard tools and frameworks that Java professionals use daily. Everything is broken down into concise, digestible lessons so you can build your skills quickly and effectively.This course is perfect for beginners or anyone looking to solidify their Java skills and take them to the next level.What You’ll Learn:Java: The World’s #1 Programming PlatformGet introduced to the power of Java, the foundation of countless enterprise applications and a must-know language for software developers. Start coding right away with practical examples and exercises designed to give you real-world experience.Maven: The World’s #1 Build ToolIn the real world, professional developers don’t just code; they manage and build projects efficiently. Learn Maven—the industry’s most widely used build tool—to break free from the IDE and develop a deeper understanding of how Java applications are built and managed.Spring: The World’s #1 Java FrameworkMaster the core concepts of Spring, the essential Java framework that underpins 99% of modern Java applications. You'll gain a rock-solid foundation that prepares you to dive into the world of Spring Boot.Spring Boot: The #1 Application Development FrameworkTake your Java development skills further by learning Spring Boot, the go-to framework for building modern Java applications. Not only will you learn to use it, but you’ll understand how it works under the hood—giving you an edge in any Java developer role.JUnit and Mockito: The #1 Tools for Java TestingQuality code is tested code! Learn how to write and run tests using JUnit and Mockito, the top tools for Java testing. These skills are essential for any developer looking to work professionally in Java.Functional Java: The Modern Way to Code in JavaDiscover the power of functional programming in Java. Since Java 8, functional programming has become an integral part of the language. You’ll dive deep into these concepts so you can write modern, clean, and efficient code.Extra Content You Won’t Find Anywhere Else!Extra Content #1: Get Inside the Mind of a Professional Java DeveloperGo beyond coding and immerse yourself in the mindset of a seasoned Java developer. We’re including exclusive podcast episodes from the popular "Java Easily" series, where you’ll learn the nuances of Java development straight from the pros.Extra Content #2: FAQs for New Java DevelopersStarting a new journey can come with lots of questions. We’ve compiled a detailed FAQ section addressing everything from how to land your first Java job to understanding who uses Java and why. These insights will give you the confidence to move forward.Why Choose This Course?This is more than just a Java tutorial. It’s a comprehensive, 360-degree learning experience. You’ll start with the basics, gain hands-on coding experience, explore the surrounding technologies, and even get insider advice on mindset and career success. By the end, you'll be fully prepared to launch a thriving career in software engineering with a complete toolkit of skills every Java developer needs.Plus, Java is one of the highest-paid programming languages, and demand for skilled developers is at an all-time high. This course gives you everything you need to stand out in the job market.Ready to Start Your Java Career?Don’t miss out on this opportunity to join the thousands of students who have already transformed their careers with this bestselling course. Whether you’re a total beginner or looking to upskill, this course will give you the knowledge, tools, and confidence to succeed as a professional Java developer.Enroll today and take the first step towards your new career in software engineering. Let’s make Java mastery your reality!

Overview

Section 1: INTRODUCING JAVA - your ticket to a well-paid software engineering career!

Lecture 1 Welcome to the course!

Section 2: Overview of Java

Lecture 2 Section Introduction

Lecture 3 How Popular is Java?

Lecture 4 Who uses Java?

Lecture 5 Where is Java used?

Lecture 6 Why is the Java platform so popular?

Lecture 7 Why is the Java language so popular?

Lecture 8 Section conclusion

Section 3: Java Platform Components

Lecture 9 Section introduction

Lecture 10 Java's acronyms and abbreviations

Lecture 11 Platform independence in Java

Lecture 12 How WORA (write once, run anywhere) works

Lecture 13 Key terms in Java you need to know

Lecture 14 Compiling a Java program with the Java compiler (javac)

Lecture 15 Running a Java program (bytecode) on the JVM

Lecture 16 Introducing the concept of an IDE

Lecture 17 Flow of compiling and running a Java program

Lecture 18 Section conclusion

Section 4: The Java Development Kit (JDK)

Lecture 19 Section Introduction

Lecture 20 Steps to install the JDK

Lecture 21 Working out which JDK version to instal

Lecture 22 Downloading the JDK

Lecture 23 Running the JDK installer

Lecture 24 Exploring the installation package contents

Lecture 25 Setting the JAVA HOME environment variables

Lecture 26 Checking the environment variables have been set

Lecture 27 Verifying the Java compiler and Java virtual machine are installed

Lecture 28 Section Conclusion

Section 5: The IDE (Integrated Development Environment)

Lecture 29 Section introduction

Lecture 30 Choosing an IDE

Lecture 31 Overview of IDE features for programming

Lecture 32 How the IDE does syntax highlighting

Lecture 33 How the IDE shows errors

Lecture 34 How the IDE helps you

Lecture 35 IDE feature compiling source code

Lecture 36 IDE feature Running the code

Lecture 37 IDE feature Debugging programs

Lecture 38 The process of programming with an IDE

Lecture 39 Installing an IDE (Eclipse)

Lecture 40 Section conclusion

Section 6: Java Programming Syntax Basics

Lecture 41 Section Introduction

Lecture 42 Java Syntax Classes

Lecture 43 Java Syntax Method Declarations

Lecture 44 Java Syntax Variables

Lecture 45 Java Syntax Encapsulation

Lecture 46 Java Concept Objects calling other Objects

Lecture 47 The Main Method of a Java Program

Section 7: Writing, Compiling, Running and Debugging a Java Program with the IDE

Lecture 48 Section Introduction

Lecture 49 Creating a new Java project in Eclipse

Lecture 50 Creating a package

Lecture 51 Creating a class

Lecture 52 Importing and Default Imports

Lecture 53 Autocomplete in the IDE

Lecture 54 Javadoc in the IDE

Lecture 55 Using the dot to reference different objects

Lecture 56 Method overloading

Lecture 57 Passing a parameter to a method

Lecture 58 Running your Java program

Lecture 59 Exploring the project structure after a build

Lecture 60 Refactoring to extract and create a new method

Lecture 61 Calling a method in Java

Lecture 62 Modifying a method to take a parameter

Lecture 63 How the IDE helps you fix your code

Lecture 64 How the IDE lets you preview code it will write for you

Lecture 65 How to pass a paremeter to a method

Lecture 66 Debugging your Java program

Lecture 67 Suspending a program at a breakpoint

Lecture 68 Stepping into a method

Lecture 69 Inspecting variables in the live program

Lecture 70 Examining the call stack to see the steps a program took so far

Lecture 71 Stepping over a method

Lecture 72 The notion of scope and call stack method popping

Lecture 73 The power of a debugger

Lecture 74 Section conclusion

Section 8: LEARN JAVA - the world's Number 1 programming platform!

Lecture 75 Section introduction

Lecture 76 What is Programming?

Lecture 77 The Tools You Need

Section 9: Setting Up

Lecture 78 Section Introduction

Lecture 79 Installing the JDK on Windows

Lecture 80 Setting up Environment Variables on Windows

Lecture 81 Installing IntelliJ IDEA on Windows

Lecture 82 Installing the JDK on Mac

Lecture 83 Setting up Environment Variables on Mac

Lecture 84 Installing IntelliJ IDEA on Mac

Section 10: First Steps

Lecture 85 Section Introduction

Lecture 86 Creating a New Project

Lecture 87 Creating and Loading a Template Project

Lecture 88 Welcome to the Challenge!

Lecture 89 Challenge Part 1 - Exercise

Lecture 90 Challenge Part 1 - Solution

Section 11: Variables

Lecture 91 Section Introduction

Lecture 92 What are Variables?

Lecture 93 ints

Lecture 94 doubles

Lecture 95 booleans

Lecture 96 Strings

Lecture 97 Primitives vs Class Types

Lecture 98 Conclusion

Lecture 99 Challenge Part 2 - Exercise

Lecture 100 Challenge Part 2 - Solution

Section 12: Expressions

Lecture 101 Section Introduction

Lecture 102 Numeric Expressions

Lecture 103 Boolean Expressions

Lecture 104 Simplifying Boolean Expressions

Lecture 105 Logical Operators

Lecture 106 Challenge Part 3 - Exercise

Lecture 107 Challenge Part 3 - Solution

Section 13: Strings

Lecture 108 Section Introduction

Lecture 109 String Concatenation

Lecture 110 String Operations

Lecture 111 Transforming Strings

Lecture 112 Boolean-based String Checks

Lecture 113 int-based String Checks

Lecture 114 Creating New Strings

Lecture 115 Challenge Part 4 - Exercise

Lecture 116 Challenge Part 4 - Solution

Section 14: Conditionals

Lecture 117 Section Introduction

Lecture 118 Logical Operators Recap

Lecture 119 The If Block

Lecture 120 The Else Block

Lecture 121 Alternate Flows with Elseif

Lecture 122 Thinking About Conditionals

Lecture 123 Dead Branches

Lecture 124 Refactoring to Simplify Conditionals

Lecture 125 Nested Conditionals

Lecture 126 U7: Good vs Bad Refactoring

Lecture 127 The Switch Statement

Lecture 128 Break Statements in Switches

Lecture 129 The Ternary Operator

Lecture 130 Challenge Part 5 - Exercise

Lecture 131 Challenge Part 5 - Solution

Section 15: Loops

Lecture 132 Section Introduction

Lecture 133 U8: What are Loops

Lecture 134 The While Loop

Lecture 135 The Do While Loop

Lecture 136 The For Loop

Lecture 137 Esoteric Loops

Lecture 138 Processing Collections with Streams

Lecture 139 The For Each Loop with Collections

Lecture 140 Challenge Part 6 - Exercise

Lecture 141 Challenge Part 6 - Solution

Section 16: Methods

Lecture 142 Section Introduction

Lecture 143 What are Methods?

Lecture 144 Creating a Method

Lecture 145 Calling a Method

Lecture 146 Passing Parameters

Lecture 147 Passing Multiple Parameters

Lecture 148 Returning Output from a Method

Lecture 149 Using a Returned Value

Lecture 150 Refactoring Inlining

Lecture 151 Refactoring Removing Unecessary Variables

Lecture 152 Challenge Part 7 - Exercise

Lecture 153 Challenge Part 7 - Solution

Section 17: Classes and Objects

Lecture 154 Section Introduction

Lecture 155 What are Objects?

Lecture 156 Creating a Class

Lecture 157 Visibility Modifiers

Lecture 158 Constructors

Lecture 159 The Default Constructor

Lecture 160 Instances and State

Lecture 161 Adding Methods to Classes

Lecture 162 Getters and Setters

Lecture 163 Why Encapsulation is Important

Lecture 164 Protecting the Integrity of Your Objects

Lecture 165 Composing Objects

Lecture 166 Referencing Other Objects

Lecture 167 Object References

Lecture 168 Stepping into an Objects Methods

Lecture 169 Concept of Inheritance

Lecture 170 Extending a Class

Lecture 171 Adding Custom Methods

Lecture 172 Creating Another Subclass

Lecture 173 Viewing the Type Hierarchy

Lecture 174 Superclass Variable References

Lecture 175 Concept of Polymorphism

Lecture 176 Abstract Methods

Lecture 177 Non-Instantiability of Abstract Classes

Lecture 178 Implementing Abstract Methods

Lecture 179 Custom Implementation of Superclass Methods

Lecture 180 Polymorphism in Action

Lecture 181 Recap of OO Concepts

Lecture 182 Challenge Part 8 - Exercise

Lecture 183 Challenge Part 8 - Solution

Section 18: Exceptions

Lecture 184 Section Introduction

Lecture 185 Concept of an Exception

Lecture 186 Try Catch Blocks

Lecture 187 Scoping in Try Blocks

Lecture 188 Happy Path and Error Path

Lecture 189 Throwing Exceptions

Lecture 190 Creating and Throwing Your Own Exceptions

Lecture 191 Chaining Exceptions

Lecture 192 Checked Exceptions

Lecture 193 Non-checked Exceptions

Lecture 194 Differences Between Checked and Non-Checked Exceptions

Lecture 195 Bubbling Exceptions Up the Call Stack

Lecture 196 Runtime Exception Handling in Nested Method Calls

Lecture 197 Checked Exception Handling in Nested Method Calls

Lecture 198 Exceptions and Non-Void Methods

Lecture 199 Multiple Catch Blocks

Lecture 200 Alternate Exceptions in a Catch Block

Lecture 201 Ordering of Catch Blocks

Lecture 202 Challenge Part 9 - Exercise

Lecture 203 Challenge Part 9 - Solution

Section 19: Collections

Lecture 204 Section Introduction

Lecture 205 Lists

Lecture 206 The Collection Interface

Lecture 207 Sets

Lecture 208 Lists vs Sets

Lecture 209 Maps

Lecture 210 Coding with Classes and Collections

Lecture 211 Using Your Own Classes with Collections

Lecture 212 The Equals Method with Collections

Lecture 213 Implementing Hash Code and Equals

Section 20: Wrapping Up

Lecture 214 Well Done and Thank You!

Section 21: LEARN MAVEN - the world's Number 1 build platform!

Lecture 215 Welcome to the Course!

Lecture 216 Course Resource Links

Lecture 217 Setting Up for the Command Line

Section 22: Installation Basics

Lecture 218 Section Introduction

Lecture 219 Checking if you have Maven Installed

Lecture 220 Installing Maven on Windows

Lecture 221 Installing Maven on Linux

Lecture 222 Installing Maven on Mac with sdkman

Lecture 223 A Quick Tour of the Maven Installation

Section 23: Fundamentals of Maven

Lecture 224 Section Introduction

Lecture 225 Creating a Maven Project with the Quickstart Archetype

Lecture 226 The Structure of a Maven Project

Lecture 227 Performing Simple Build Tasks with Maven

Lecture 228 Maven Invocation Modes

Lecture 229 The Project Object Model and POM File

Lecture 230 The Super POM and Effective POM

Lecture 231 Maven Build Lifecycles and Phases

Lecture 232 Resolving a Simple Dependency

Lecture 233 Resolving a Complex Dependency

Lecture 234 Analyzing Dependencies with Dependency Tree

Lecture 235 Finding Dependencies in the Maven Central Repository

Lecture 236 The Maven Local Repo Cache

Lecture 237 Population of the Local Maven Repo Cache

Lecture 238 Maven Plugins

Lecture 239 The Maven Help Plugin

Lecture 240 Creating a Web App Project

Section 24: Working with Maven in an IDE

Lecture 241 Section Introduction

Lecture 242 Creating a Maven Project from Scratch in IntelliJ IDEA

Lecture 243 Importing and Using a Maven Project in IntelliJ IDEA

Lecture 244 Creating a Maven Project from Scratch in Eclipse

Lecture 245 Importing and Using a Maven Project in Eclipse

Section 25: Wrapping Up

Lecture 246 Thank You and Where Next?

Section 26: LEARN SPRING - the world's Number 1 Java framework!

Lecture 247 Section Introduction

Lecture 248 Key Spring Resources you Need to Know

Lecture 249 Configuring a project's dependencies to use Spring

Lecture 250 Adding the Spring BOM to Better Manage Dependency Versions

Section 27: Creating the Spring Container with Application Contexts

Lecture 251 Section Introduction

Lecture 252 A Look at the Application Context (aka Spring Container)

Lecture 253 Creating the File System XML Applicatiion Context

Lecture 254 Configuring Autocomplete when Writing Spring XML Configuration

Section 28: Creating, Retrieving and Using Spring-Managed Beans

Lecture 255 Section Introduction

Lecture 256 Creating a Bean Managed with Spring's XML Container Configuration

Lecture 257 Retrieving and Using a Bean from the Spring Container

Lecture 258 Using the Classpath XML Application Context

Lecture 259 Understanding Singleton Scope

Lecture 260 Understanding Prototype Scope

Lecture 261 Understanding How Spring Creates Stateless Beans

Section 29: Understanding Dependency Injection and Inversion of Control

Lecture 262 Section Introduction

Lecture 263 Coding Beans to Use Constructor Dependency Injection

Lecture 264 Interpreting a Spring Container Exception

Lecture 265 Applying Constructor Dependency Injection to XML Config

Lecture 266 Verifying the Constructor Dependency Injection

Lecture 267 The Sharability of Beans in an IoC Container

Lecture 268 The Benefits of Dependency Injection in an IoC Container

Lecture 269 The Hollywood Principle

Lecture 270 Coding Beans to Use Setter Dependency Injection

Lecture 271 Applying Setter Dependency Injection in XML Configuration

Lecture 272 Verifying the Setter Dependency Injection with Debugger

Section 30: Autowiring Dependencies in the Spring Container

Lecture 273 Section Introduction

Lecture 274 Adding Component Scanning to Autodetect Spring Bean Annotations

Lecture 275 Coding Beans to be Automanaged and Autowired by Spring w Annotations

Lecture 276 Advantage of Annotation-based Configuration over XML Configuration

Lecture 277 Verifying the Annotation-driven Autowired Beans

Lecture 278 Spring's Stereotype Annotations for Better Code Reusability

Lecture 279 Setter Dependency Injection with Annotations

Lecture 280 Constructor Dependency Injection with Annotations

Lecture 281 Using the Annotation-Based Application Context

Lecture 282 Creating a Java Configuration Class

Lecture 283 Applying Java-based configuration with @Bean

Lecture 284 Using Scopes with Java-based Configuration

Lecture 285 Modeling a More Complex Application to Demonstrate Autowiring Issues

Lecture 286 Resolving Ambiguous Arguments of the Same Type by Narrowing

Lecture 287 Resolving Ambiguous Arguments of the Same Type Using @Qualifier

Section 31: Using Properties and Profiles in Spring Projects

Lecture 288 Section Introduction

Lecture 289 Injecting Properties with @Value in Spring Managed Beans

Lecture 290 Exploring Property Overriding in Spring

Lecture 291 Using properties with PropertyPlaceholder in XML Configuration

Lecture 292 Specifying default properties for property values

Lecture 293 Exceptions for Missing property keys in Spring

Lecture 294 Resolving Property Values in a Bean definition in XML Configuration

Lecture 295 Accessing the Current Active Profiles with the Environment interface

Lecture 296 Setting the current active profile programmatically and with switch

Lecture 297 Creating Profile-specific bean configuration

Lecture 298 Conditional Beans with @Profile

Section 32: Getting to Know the Spring Container

Lecture 299 The Proxy Design Pattern

Lecture 300 Seeing Proxies in Action

Lecture 301 The Disadvantages of a Regular Proxy

Lecture 302 Understanding JDK Dynamic Proxies

Lecture 303 Dynamic Proxies in Spring

Lecture 304 How Spring Makes Service Methods Transactional using Proxies

Lecture 305 Spring Managed Bean Lifecycle Callback Methods

Lecture 306 JDK Standard Lifecycle Annotations @PostConstruct @PreDestroy

Lecture 307 Sequence of Spring Container Callbacks on a Spring Managed Bean

Lecture 308 Application Container Callbacks and Events

Lecture 309 Aware Interfaces to Access Lower-Level Spring Components

Section 33: Accessing Databases with Spring

Lecture 310 Creating and Configuring Data Sources

Lecture 311 Creating a Data Access Object to Access a Database

Lecture 312 Connection Pool Data Sources in Spring

Lecture 313 Creating a JDBC Template to Access a Database

Lecture 314 Using JDBC Templates to Insert and Query Data

Lecture 315 Using JDBC DAO Support to Remove Boilerplate JDBC Code

Section 34: Aspect Oriented Programming in Spring

Lecture 316 Preparing a Spring Project to Use Aspects

Lecture 317 Creating a Spring Managed Bean to be Intercepted

Lecture 318 Registering the Dispatcher Servlet as Front Controller

Lecture 319 Advising Beans in Spring

Lecture 320 Understanding Pointcuts and Joinpoints

Lecture 321 Accessing Joinpoints Programmatically within an Aspect

Lecture 322 Coding Dynamic Advice with Around

Section 35: Web Application Development in Spring

Lecture 323 Preparing a Maven Project to Use Spring MVC

Lecture 324 Creating the Web Application Context

Lecture 325 Creating a Controller Class

Lecture 326 Configuring the Jetty Plugin in Maven to Run a Web App

Lecture 327 Setting Up Remote Debugging of a Web App

Lecture 328 Understanding the Dispatcher Servlet Processing Flow

Lecture 329 Writing a Controller to Service Web Requests

Lecture 330 Rendering a JSP-Based View with View Resolvers

Lecture 331 Understanding How a Request is Serviced

Lecture 332 Passing a Model to the View for More Dynamic Pages

Lecture 333 Injecting the HTTP Servlet Request and Response into a Controller

Lecture 334 Passing Request Parameters and Query Strings to a Controller

Lecture 335 Spring MVC: Using Path Variables to Access Parts of the Request Path

Section 36: LEARN SPRING BOOT - the world's Number 1 Java application framework!

Lecture 336 Welcome to the Course!

Section 37: Getting Started

Lecture 337 Section Introduction

Lecture 338 Creating a Spring Boot Application with Spring Initializr

Lecture 339 Exploring a Spring Initilizr Generated Spring Boot Project

Lecture 340 Using Maven with Spring Boot

Lecture 341 Using Gradle with Spring Boot

Lecture 342 Running and Debugging Spring Boot Apps in the IDE

Lecture 343 Understanding Layered Architecture in Spring Applications

Lecture 344 Important Spring Boot Resources You Should Know

Section 38: Taking a Tour of a Sample Spring Boot Application

Lecture 345 Section Introduction

Lecture 346 Downloading Spring Pet Clinic

Lecture 347 Building the Sprint Pet Clinic Application

Lecture 348 Running the app and taking a tour of the application

Lecture 349 Examining the project and it's dependencies in the IDE

Lecture 350 Examining the controllers and web layer

Lecture 351 Examining the repositories and data layer

Lecture 352 Examining the startup of a Spring Boot application

Lecture 353 Examining the application properties, logging configuration and profiles

Lecture 354 Summing Up the essence of how a spring boot application works

Section 39: Understanding Starter Dependencies

Lecture 355 Section Introduction

Lecture 356 Understanding Spring Boot Starter Dependencies

Lecture 357 Relating the Spring Boot dependency graph within your IDE

Lecture 358 Looking at the Flattened Resolved Dependencies Set

Lecture 359 Changing the Starter Dependency to Bring in a Tech Stack

Lecture 360 Relationship of Starter Dependencies w Autoconfiguration

Section 40: Understanding Autoconfiguration

Lecture 361 Section Introduction

Lecture 362 How Spring Boot Creates the Spring Application Container

Lecture 363 How @SpringBootApplication Configures a Spring Boot App

Lecture 364 Spring Factories for Autoconfigured Libraries

Lecture 365 Understanding a Typical Autoconfiguration

Lecture 366 Property Injection in Autoconfiguration Classes

Lecture 367 Conditions and Excluding and Overriding Autoconfiguration

Lecture 368 Debugging Autoconfiguration by Enabling Autoconfig Reporting

Section 41: Understanding Spring Boot Properties

Lecture 369 Section Introduction

Lecture 370 Common Properties in Spring Boot Which You Can Configure

Lecture 371 Injecting Properties into Spring Managed Beans

Lecture 372 Providing Default Values for Properties

Lecture 373 Overriding Properties at Runtime with System Properties

Lecture 374 Specifying Properties in YAML File Format

Lecture 375 Accessing Nested Properties and Strongly-Typed Property Values

Section 42: Exploring Startup of a Spring Boot Application

Lecture 376 Section Introduction

Lecture 377 Examining a Foundational Spring Boot Project

Lecture 378 Registration of Important Spring Application Listeners

Lecture 379 Preparing and Establishing the Spring Application Context

Lecture 380 Creating the Beans of the Spring Runtime

Lecture 381 Creating the Embedded Tomcat Web Server

Lecture 382 Publishing Spring Events to Application Listeners

Section 43: Wrapping Up

Lecture 383 Thanks and Wrap Up

Section 44: LEARN JUNIT AND MOCKITO - the world's Number 1 tools for Java testing!

Lecture 384 Welcome to the Course!

Lecture 385 Getting Help and Support

Lecture 386 Overview of the Course Structure

Lecture 387 A quick welcome and note on the course format

Section 45: Unit Testing Foundations

Lecture 388 Section Introduction

Lecture 389 What is Unit Testing?

Lecture 390 What is JUnit?

Lecture 391 Introducing a Simple Unit Test in JUnit

Lecture 392 Structure of a Unit Test

Lecture 393 Conventions for Writing Unit Tests

Lecture 394 Characteristics of Proper Unit Tests

Lecture 395 What are Assertions?

Section 46: Creating a Java Project which uses JUnit

Lecture 396 Section Introduction

Lecture 397 Creating a Java project which includes JUnit using Maven Quickstart

Lecture 398 Introducing a typical Java project structure (production vs test trees)

Lecture 399 Understanding the basic coding conventions for creating unit tests

Section 47: Writing and Running Unit Tests with JUnit and IntelliJ IDEA

Lecture 400 Section Introduction

Lecture 401 Assertions and JUnit's fail-fast test failure mechanism

Lecture 402 Creating a test method with the @Test annotation

Lecture 403 Running a unit test within the IDE and understanding test success

Lecture 404 Understanding test failures with exceptions

Lecture 405 Failing a unit test explicitly with Assert.fail

Lecture 406 Using Assert.fail to check validation logic in a try/catch

Lecture 407 An introduction to the JUnit Assertions API

Lecture 408 Structuring unit tests with Arrange/Act/Assert

Lecture 409 Adding comments to assertions and test failures to aid diagnostics

Lecture 410 Coding a unit test following Arrange-Act-Assert

Lecture 411 Keeping test setup DRY with @Before

Lecture 412 Understanding test fixture instantiation

Section 48: Unit Testing with Mock Objects and Mockito

Lecture 413 Section Introduction

Lecture 414 What is Mockito and what are Mock Objects?

Lecture 415 Introduction to testing with mock objects

Lecture 416 Configuring Projects to Use Mockito

Lecture 417 Creating a project which uses JUnit and Mockito

Lecture 418 Coding a Layered Architecture - Presentation Layer

Lecture 419 Coding a Layered Architecture - Business Layer

Lecture 420 Coding a Layered Architecture - Persistence Layer

Lecture 421 Putting the correct packages in place to respect the layering

Lecture 422 Writing a test for the Login Controller in the presentation layer

Lecture 423 Understanding the test fixture setup when writing mock tests

Lecture 424 Writing a test for the Authentication Service in the business

Lecture 425 Thinking about design decisions when unit testing

Section 49: Looking at the Hamcrest Assertions Library

Lecture 426 Section Introduction

Lecture 427 Evolving the Domain and Repository Classes

Lecture 428 Ignoring Tests with @ignore

Lecture 429 Implementing a Finder in the Repository

Lecture 430 Implementing Business Logic in the Service

Lecture 431 Configuring Maven to use Java 8

Lecture 432 Evolving the Repository Class

Lecture 433 Adding a Parameter-driven Finder to the Service

Lecture 434 Refactoring to Evolve a New Service

Lecture 435 Generating Test Methods in the IDE and Toggling Between Code

Lecture 436 Introducing the JUnit Mockito Runner and @Mock

Lecture 437 Analyzing Production Code to Determine How to Write Arrange Section

Lecture 438 Using Mockito's @InjectMocks to Create the SUT and Dependencies

Lecture 439 Keep Yourself Motivated by Checking the Happy Path Test Output

Lecture 440 Using the JUnit Assertions API to write the Assert Section

Lecture 441 Thinking About the Weaknesses of the JUnit Assertions API

Lecture 442 The Importance of Checking Your Work as you Go

Lecture 443 Replacing JUnit with Hamcrest assertions and asserting collections

Lecture 444 Understanding and Reading Hamcrest Test Failures

Lecture 445 Quick thoughts on Hamcrest individual vs collection Assertions

Lecture 446 Don't invoke unneeded production code in your test classes

Lecture 447 Understanding Evaluation of Hamcrest Matchers

Lecture 448 Thinking about why we keep production code to a minimum in tests

Lecture 449 Upgrading a JUnit project to use the full Hamcrest version

Lecture 450 Creating Complex Hamcrest Assertions with allOf and Property Matchers

Section 50: LEARN FUNCTIONAL JAVA - the world's Number 1 way of coding modern Java!

Lecture 451 Welcome to the Course!

Lecture 452 Section Introduction

Lecture 453 Difference Between Object-Oriented and Functional Programming Styles

Lecture 454 A Quick Look at the Main Java 8 Features

Section 51: Lambda Expressions and Functional Interfaces

Lecture 455 Passing Behaviour with Lambda Expressions

Lecture 456 Lambda Expressions Syntax and Examples

Lecture 457 An introduction to Functional Interfaces with Examples

Lecture 458 Using Function Descriptors to Choose Compatible Target Types

Section 52: Pipelines and Streams

Lecture 459 An Overview of Streams, Intermediate and Terminal Operations

Lecture 460 Pipeline Collection Processing and Stream API Common Operations

Section 53: Other Features

Lecture 461 What is an Optional and How Are They Used

Lecture 462 Understanding the Optionals API

Lecture 463 Mapping and Filtering with Optionals

Lecture 464 Understanding Default Methods

Lecture 465 Understanding Method References and Their Different Types

Section 54: Java 8 Coding Demos: Lambda Expressions and Functional Interfaces

Lecture 466 Section Introduction

Lecture 467 A Look at the Functional Interfaces API

Lecture 468 Coding and Referencing a Simple Lambda Expression

Lecture 469 Refactoring a Lambda Expression by Adapting a Functional Interface

Lecture 470 Providing Alternative Functional Interface Target Types for Lambdas

Lecture 471 Refactoring a Lambda Expression with its Method Reference

Lecture 472 Coding with the Consumer Functional Interface

Lecture 473 Coding with the Supplier Functional Interface

Lecture 474 Coding with the Function Functional Interface

Lecture 475 Coding with the Predicate Functional Interface

Section 55: Java 8 Coding Demos: The Stream API

Lecture 476 Coding a Collection of Domain Classes for Stream Processing

Lecture 477 Coding with the Streams API to Process a Complex Collection

Section 56: Java 8 Coding Demos: Other Features

Lecture 478 Coding with Bound and Unbound Instance Method References

Lecture 479 Coding with Static Method References

Lecture 480 Coding with Constructor Method References

Section 57: Wrapping Up

Lecture 481 Well Done and Thanks!

Section 58: ADDITIONAL CONTENT #1: Get Inside the Mind of a Professional Java Developer!

Lecture 482 #1: A Big Welcome to the Java Easily Podcast!

Lecture 483 #2: Why You Think You Struggle with Unit Testing

Lecture 484 #3: How to Become a Fully-Fledged Java Developer

Lecture 485 #4: How to Approach Object-Oriented Design

Lecture 486 #5: An Overview of the Java Platform for Complete Beginners to Java

Lecture 487 #6: What is Object Oriented Programming and Why Is It So Popular?

Lecture 488 #7: The Quickest Way to Learn Java for Absolute Beginners

Lecture 489 #8: What to do When You Feel Stuck as a Java Developer

Lecture 490 #9: Demystifying Java Classpaths

Lecture 491 #10: How Java Projects Are Developed and Managed

Lecture 492 #11: Essential Meetings Every Java Developer Should Know About

Lecture 493 #12: How a Java Developer Evolves from Beginner to Expert

Lecture 494 #13: How an IDE Makes Coding Easier

Lecture 495 #14: The Premium Developer Experience IDEs Give You

Lecture 496 #15: Why IDEs Are Super Useful for Analyzing Code

Lecture 497 #16: How To Fix Your Mindset to Get Coding Quickly

Lecture 498 #17: How To Start Coding Java Even If You Don't Know Where to Begin

Lecture 499 #18: Understanding Encapsulation in Object Oriented Programming

Lecture 500 #19: Explaining Inheritance Syntax in Java

Lecture 501 #20: Learning Why Polymorphism is an Awesome Feature in Java

Lecture 502 #21: Introducing Design Patterns to Develop Java Super Powers!

Lecture 503 #22: Unraveling the Most Common Compilation Errors that Beginners Encounter

Lecture 504 #23: What To Do When You're Overwhelmed By Java Tooling

Lecture 505 #24: The Differences Between Contracting and Going Permanent as a Java Developer

Lecture 506 #25: Demystifying the Top 3 Collection Classes in Java

Lecture 507 #26: The Different Competency Levels from Beginner to Expert Java Developer

Lecture 508 #27: Don't Have Time To Learn Java? Here's the Solution!

Lecture 509 #28: I'm a Java Developer and I Want to QUIT!

Section 59: ADDITIONAL CONTENT #2: Frequently Asked Questions for Brand New Java Developers!

Lecture 510 FAQ: Do I need to know math to learn Java?

Lecture 511 FAQ: Do I need to know other programming languages to learn java?

Lecture 512 FAQ: How do I get a job with Java programming skills?

Lecture 513 FAQ: What can I do with Java?

Lecture 514 FAQ: What is Java and how is it different from other programming languages?

Lecture 515 FAQ: What kind of computer do I need to code Java programs?

Lecture 516 FAQ: What tools do I need to program with Java?

Absolute beginners with no coding experience who want to start a career in software development.,Aspiring programmers looking to master Java and unlock high-paying job opportunities.,Students and professionals from any background who are eager to learn a valuable, in-demand skill.,Self-learners who want a structured, step-by-step guide to mastering Java from the ground up.,Career changers who are ready to enter the tech industry and need an easy-to-follow path into software engineering.,Java developers at any level who want to solidify their foundation and advance their skills with industry-standard tools and frameworks.,Anyone curious about coding and ready to dive into the exciting world of software engineering with a practical, hands-on approach.