Learn Advanced Java

From Basic Java Skills to Advanced Multi-Tier Architecture and More

4.33 (461 reviews)
Udemy
platform
English
language
Other
category
instructor
5,065
students
19.5 hours
content
May 2022
last update
$79.99
regular price

What you will learn

Advanced Java programming

Description

Discover and learn advanced aspects of Java programming, and some important Java-related concepts and technologies.

This course can help you bridge the gap between the knowledge you have as a self-taught Java developer, junior developer or new IT graduate, and the knowledge that professional developers may have.

We'll introduce you to version control, important design patterns, JDBC, and many other important Java technologies and programming concepts, including Spring, Swing and multi-tier architecture.

When you finish the course you'll be able to create simple web services in Java using Spring MVC, and connect to them using desktop clients.

Content

Introduction

Introduction

Using Git Version Control

Installing Software
Git and Github
Creating a Repository
Visual Studio Code Extensions
Setting up the Code Command
Creating a Java Program with Code
Compiling the Program
Setting the Git Editor in Bash
The .gitignore
Saving Changes
Git Workflow
Git Branches
Merging and Deleting Branches
Reverting to Previous Commits
Git Pull
Merge Conflicts
Eclipse and Git
Excluding IDE files from Git
Using Git Within Eclipse
Cloning Repositories in Eclipse

Building with Maven

Build Systems
Installing Maven Command Line
Generating a Maven Project
Building in Maven
Packaging in Maven
Importing Maven Projects in Eclipse
Creating a Maven Project in Eclipse
Adding Changes to Git
Running a Maven Build in Eclipse
Downloading Dependencies with Maven
A Guava Example
Downloading Dependencies Via Eclipse Search
Exploring the POM
Maven Lifecycles
Parent POMs

Building with Gradle

About Gradle
Creating a Gradle Project
The Gradle Project Structure
Importing Gradle Projects in Eclipse
Creating a Gradle Project in Eclipse
Gradle Dependencies
Committing to Git

Databases and MySQL

About Databases
Creating a Project
Creating a Database
Creating Tables
Inserting Data
Prepared Statements
Autocommit
MySQL and the MySQL Workbench
Using MySQL
Creating a Table in MySQL
MySQL Connector
Connecting to MySQL

The DAO Design Pattern and JDBC

Maven Project for MySQL
Downloading MySQL Connector
The Singleton Pattern
Implementing the Database Class
DAO Interface
User Class
CRUD SQL
Implementing the UserDao
Saving Users
Retrieving Users
Finding By ID
Deleting Users
Updating Users

Properties and Profiles

Properties
Profiles
A Profile Class

Unit Testing with JUnit

Unit vs Integration Testing
Creating a Test Database
Testing the Profile Class
Creating MySQL Users
SetUp and TearDown
Testing Save
Loading a Text File
Creating Test Users
Testing Save Multiple Users
Retreiving Users In a Range
Checking Retrieved Users
Testing Find and Update
Testing GetAll
Testing Delete
About ORMs

The Reflection API

The Class Object
Listing Fields
Listing Methods
Checking if Methods and Fields Exist
Calling Methods
Setting Fields

Implementing and Using Annotations

Annotation Use Case Scenario
Creating an Annotation
Implementing Annotation Code
Annotation Attributes
Getting Attribute Values
Class Annotations
Creating a SQL Expression

Desktop Programming With Swing

Desktop Programming in Java
Basic Gradle Project
Basic Swing Project
Adding a Panel
Adding a Menu
Layout Managers
Creating Components
Adding Components
Weights and Anchors
Vertical Weights
Insets
Nested Panels
Padding
Button Clicks
Observer Pattern
Creating a Database
Database Code
Adding Fields
Upgrading the Tests
Upgrading UserDaoImpl
Making the App Save Users

Java Web Projects, Servlets and JSPs

Installing Tomcat
Eclipse WTP
Hello World Web
Gradle Web Project
Tomcat Web Programming Tips
Template Engines
About JSP
JSTL
Using JSTL
Servlets
Serving HTML
Creating a Form
Styling the Form
The Post Method
The Gson Library
JSON Serialisation
Serving JSON
A JSON Client

Spring, Spring Boot and Spring Data JPA

About Spring and Spring Boot
Spring Boot Hello World
Entry Point
Creating Beans
Components
Configuration
JPA
Creating a Database and User
Spring Database Configuration
Repositories
More Repository Methods
Adding CrudRepository Methods

Creating a Spring Web Service

Maven Setup for Spring MVC
Basic Spring Web App
Hello World Spring MVC
Rest Controllers
Posting JSON to Spring
Path Variables
Creating the Database
Layered Architecture
Implementing the Book Controller

A REST Desktop Client

JSON Client
Split Panes
Creating the User Form
Adding a Table
Connecting to the Service
Parsing the JSON
Creating Books via the Service.
Implementing Refresh
Handling Errors

Conclusion

Conclusion

Screenshots

Learn Advanced Java - Screenshot_01Learn Advanced Java - Screenshot_02Learn Advanced Java - Screenshot_03Learn Advanced Java - Screenshot_04

Reviews

Jenna
September 8, 2023
The presenter is not fully prepared; there is a lot of hesitation (er, um) in the speech and quite a bit of unnecessary repetition. Can you describe things as anything other than 'stuff'?
Tahi
April 24, 2023
It's been an excellent course! It's taught me lots of technologies and how they interact with each other in the process of building a Java application. I felt a bit lost before taking this course but after having taken it I feel now much more confident and much less lost. Thanks a lot for the great course. I completely recommend it.
Jean
April 23, 2023
I like the way the instructor teaches, i'm on the Git_Github Chapter and i understand important things about version control... Very important for me as i am a beginner, i really enjoy it!
Edouard
February 11, 2023
I know John as one of the best in the business. He is very passionate, dedicated at what he does. He knows his subjects, puts his heart into it, hence as always he comes up with well-built courses loaded with well-constructed modules. Quality and quantity are on the menu. I haven’t gone over everything yet but as time goes by I won’t be disappointed. So way to go John! Ed: Badger/Mamba
Ian
January 21, 2023
Unfortunately this is NOT an advanced java course. The title should be. "Watch John fumble around in Eclipse and only give the most basic information on some of the stuff he found difficult when he got his first job" If you are looking for a Learn Advance Java course , skip this one. It is not worth the time or money.
Steve
September 26, 2022
Most of the course was satisfactory and covered a good range of subjects. However, far too much focus was placed on the Eclipse IDE and it's environment. As such there was less coverage of purer Java. THe final Spring related sections were overly involved, repetitive and again focused on the outcome rather than the subject matter. I also believe these came from another course as the bonus section thanked us for completing a different course and suggested the current course to us! This lead me to feel that the course was just put together from other course sections without a care for continuity. Overall the instructor's knowledge was good but his delivery was slow (often had to playback at a faster speed). At times, he spent time fixing issues that we had to persevere, this perhaps could have been avoided with better editing, and many times his suggestion for any errors, was "to google it". His implementation of code was sometimes confused and more to a personal specification than to particular modern coding standards, this is not an issue in itself but at a declared "advanced" level more attention needs to be paid to such things. Certain subjects such as version control were unnecessary in an "advanced" course, and some more significant areas such as testing were almost non existent. Much of the content was rather dated, and there seems to be little or no response to current questions. In fact, the course itself looks as though it's already several years behind. I can't truly recommend this course to advanced students as there is better info elsewhere, which means it's also hard to place where it should sit, perhaps with beginners with a little Java? For myself, as a senior developer with many years of programming with many languages including Java, I intended to use this as a refresher. However, it taught me little that I did not already understand, and much of the content and delivery could do with a clean approach.
Carl
August 18, 2022
Very much on point for what I needed. Teaches you the common tools and practices used when working professionally as a developer. It has given me the building blocks to write programs that are actually useful. Definitely increased my confidence in programming.
Mattias
March 7, 2022
I really liked this course. It gives an introduction in many concepts that makes me want to learn more.
Warner
January 31, 2022
I wish I had taken this course sooner. It is a fantastic transition from java basics to learning to use the kind of technologies that working developers use. The course does not go into great depth about any given topic, but gives one enough to hit the ground running. I would recommend this course to anyone who has learned basic Java syntax because even the more advanced Java concepts are introduced clearly.
Tudv8
December 30, 2021
Just listen to a few begin lectures but I am pretty sure that he has a deep knowledge of Java. So, essential explanation of Java for those want to deeply understand the language!
Pravin
September 15, 2021
Starting of course was good but as course progresses speed of explanation is also increasing which makes it bit difficult to understand at fast pace
Mohamed
July 18, 2021
I really really loved this course :-) I am an experienced BE developer and I've been working with Python for years and I was looking for a course on advanced Java (I already know the basics), and this course was to the rescue ! I think the topics covered here are essential and very beneficial.
Taha
June 28, 2021
I started learning java with this guy and I have to tell I m glad I did. This is his second course I m taking and I m sure he'll teach me what I need to know
Kashif
June 1, 2021
So far interesting although having no background of Java, I understand the things quickly it because of the way John conduct the course, he starts from very basics
Fulvio
September 13, 2020
I know John Purcell, He's very nice. You're very clear. Step by step the code becomes like a manual.

Charts

Price

Learn Advanced Java - Price chart

Rating

Learn Advanced Java - Ratings chart

Enrollment distribution

Learn Advanced Java - Distribution chart

Related Topics

3256626
udemy ID
6/21/2020
course created date
7/17/2020
course indexed date
Bot
course submited by