New

A quick, chronological list of every single published video

  Creating the needed database tables for our LazyInitializationException project

We are going to keep things simple: Imagine you are building a website for screencasts, just like the marcobehler.com website. So you are going to have episodes and series, and we are going to create database tables for both of these, in this episode.

> > Watch Now
Database TablesH2Create SQL
Published: 07.06.2017
Difficulty: BEGINNERS
Runtime: 00:05:40

  Creating and preparing our LazyInitializationException project with Gradle

Let's create a small project, to demonstrate how exactly the LazyInitializationException works. In this episode you will setup a plain vanilla gradle project, with Hibernate and H2 embedded database dependencies.

> > Watch Now
HibernateGradleProject Setup
Published: 06.06.2017
Difficulty: BEGINNERS
Runtime: 00:02:49

  Creating a mock Accounting Department Web Service

In the requirements episode I talked about having an existing third-party auditing service that we need to forward our data to. In this episode I'll show you a handy little trick on how to implement a mock for such a service, or any web service, in just a few lines.

> > Watch Now
Mock Web ServiceJetty
Published: 24.05.2017
Difficulty: BEGINNERS
Runtime: 00:04:10

  Creating the Project With Gradle and Adding all Dependencies

We know what we want to build, now we have just do it. This episode covers the complete project setup with Gradle, creating a project and adding all needed dependencies so that we can start to do some real programming.

> > Watch Now
GradleProject Setup
Published: 23.05.2017
Difficulty: BEGINNERS
Runtime: 00:02:31

  What we want to build : Our shiny Fintech-Startup Customer Requirements

Imagine we are working for a PayPal-like financial startup. So there are customers, bank accounts, credit cards etc. And in this episode you will learn what exactly we want to build, to start our Microservice journey. Strongly recommended for all other episodes of this series.

> > Watch Now
Project RequirementsFintechMicroservices
Published: 22.05.2017
Difficulty: BEGINNERS
Runtime: 00:03:46

  Installing Gradle - On Windows

A popular build system in the Java world is called Gradle. Learn how to install and configure it in less than 5 minutes.

> > Watch Now
GradleGetting StartedInstalling GradleJavaWindows
Published: 17.05.2017
Difficulty: BEGINNERS
Runtime: 00:03:09

  Installing Maven - On Windows

A popular build system in the Java world is called Maven. Learn how to install and configure it in less than 5 minutes.

> > Watch Now
MavenGetting StartedInstalling MavenJavaWindows
Published: 16.05.2017
Difficulty: BEGINNERS
Runtime: 00:03:20

  Installing Mercurial - On Windows

A bit less popular than Git, Mercurial is still a great version control system that a lot of companies and projects use. In this episode you'll learn how to install it on windows and configure it with sane defaults for a Java developer.

> > Watch Now
MercurialMercurial for Java Developers
Published: 15.05.2017
Difficulty: BEGINNERS
Runtime: 00:03:21

  Installing Git - On Windows

A lot of open companies and open source projects are using Git as a version control system. In this episode you'll learn how to install it on windows and configure it with sane defaults for a Java developer.

> > Watch Now
GitGit for Java Developers
Published: 12.05.2017
Difficulty: BEGINNERS
Runtime: 00:03:46

  Installing the JDK - on Ubuntu Linux

If you want to get started with developing in Java, there is only one thing you need. The Java Development Kit, also called JDK. But there's multiple different ones out there, like the Oracle JDK or OpenJDK and even multiple versions! . Find out which one to download and install in this episode - for a Ubuntu Linux workstation.

> > Watch Now
JavaJDKOracle JDKOpenJDKUbuntuLinux
Published: 11.05.2017
Difficulty: BEGINNERS
Runtime: 00:03:36

  Installing the JDK - on Windows

If you want to get started with developing in Java, there is only one thing you need. The Java Development Kit, also called JDK. But there's multiple different ones out there, like the Oracle JDK or OpenJDK and even multiple versions! Find out which one to download and install in this episode - for a Windows workstation.

> > Watch Now
JavaJDKOracle JDKOpenJDKWindows
Published: 10.05.2017
Difficulty: BEGINNERS
Runtime: 00:03:36

  Receiving Dates with HTTP GET or POST

What if you want to send a date as a string or int (think: yyyy-MM-dd or 1493277486) to a rest server and on the server want a nicely converted date object instead? You'll learn to do exactly that in this episode, including a nice little Spring Boot feature regarding dates.

> > Watch Now
SpringSpring Boot@RestControllerjava.util.Date@DateTimeFormat
Published: 08.05.2017
Difficulty: BEGINNERS
Runtime: 00:05:06

  How to delete records (users) - With plain Hibernate

Last but not least, we want to be able to delete records, or in our case users, from the database again. In this screencast you will learn how to delete one or many records from a database table with Hibernate.

> > Watch Now
SQL DeleteHibernateHQL
Published: 03.05.2017
Difficulty: BEGINNERS
Runtime: 00:02:36

  What's the difference between the java.persistence and the org.hibernate annotations?

Sometimes beginners get confused when they are about to import annotations like the @Table or @Entity annotation and then there are multiple options to choose from. I'll show you _which_ annotations you should use _when_ in this screencast.

> > Watch Now
JPAHibernatePersistence Annotations
Published: 27.04.2017
Difficulty: BEGINNERS
Runtime: 00:03:32

  Meet the EntityManager (or a quick JPA upgrade for our user management)

In case you did not know, there's something out there called JPA, the Java Persistence API. Hibernate speaks JPA and in this screencast you will find out how to use Hibernate with JPA and why you should or should not do it.

> > Watch Now
JPAHibernateEntityManagerEntityManagerFactory
Published: 25.04.2017
Difficulty: BEGINNERS
Runtime: 00:07:06

  How to easily change Spring Boot's embedded HTTP server port

If you are running Spring Boot in embedded mode, there's three ways how to change the servers.port, away from 8080. In this screencast you'll learn all three of them.

> > Watch Now
Spring BootEmbeddedJettyTomcatWeb Server
Published: 16.04.2017
Difficulty: BEGINNERS
Runtime: 00:03:04

  Use Spring Boot With Existing Glassfish Or Tomcat

What if you want to use your existing Glassfish or Tomcat server with Spring Boot? In this episode you will learn how to do traditional .war deployments with Spring Boot.

> > Watch Now
Spring BootGlassfishTomcatWar
Published: 15.04.2017
Difficulty: BEGINNERS
Runtime: 00:06:21

  Which web server/servlet container should you chose (and how?) for greenfield Spring Boot projects?

By default you do not have to install a web server to run Spring Boot applications. That's because Spring Boot comes with a choice of _embedded_ web servers. And in this episode, you will learn which one to chose for your greenfield project and how.

> > Watch Now
Spring BootJettyTomcatWeb Server
Published: 11.04.2017
Difficulty: BEGINNERS
Runtime: 00:04:19

  How to select and update records (users) - With plain Hibernate

A user management app would not make much sense if we only could save users to the database, like we did in the previos screencast. This time we want to select and update our saved users as well! Additionally we are going to learn more about the fancy features of a Hibernate Session.

> > Watch Now
SQL SelectSQL UpdateHibernateHQL
Published: 06.04.2017
Difficulty: BEGINNERS
Runtime: 00:07:11

  How to save records (users) to the database - With plain Hibernate

Imagine you want to build a simple usermanagement, i.e. register or save users to a database. A user has an id, an email and a password, real simple. And in this screencast we will learn how to do just that: Save a user to the database with Hibernate.

> > Watch Now
Hibernate ConfigurationHibernate.cfg.xmlHibernateSQLInsert IntoHQL
Published: 05.04.2017
Difficulty: BEGINNERS
Runtime: 00:07:07

  Getting a head start with an embedded database

Sure, you could install MySQL or Postgres on your local developer machine. But I am going to show you a better and faster way: Using the fantastic H2 database available at http://www.h2database.com

> > Watch Now
H2DatabaseJDBC
Published: 24.02.2017
Difficulty: BEGINNERS
Runtime: 00:04:19

  Opening up connections to the database (or meet the SessionFactory)

In the previous screencast you learned how to open up connections to our H2 Database with plain JDBC. Now you are going to learn about doing the same thing with Hibernate. Your first, vanilla Hibernate connection to the database. Yay!

> > Watch Now
H2DatabaseHibernate
Published: 24.02.2017
Difficulty: BEGINNERS
Runtime: 00:04:51

  Enable SQL Logging - With Plain Hibernate

Enabling SQL Logging with plain Hibernate features. (no log4j, logback or something similar)

> > Watch Now
H2DatabaseHibernateSQL Logging
Published: 24.02.2017
Difficulty: BEGINNERS
Runtime: 00:03:21

  The simplest and fastest Hibernate 5.x project setup (also, which Hibernate Version to choose?)

Getting started with a greenfield Hibernate project might look like a pain, but it doesn't have to be. Learn how you get up and running with plain Hibernate 5.x in no time.

> > Watch Now
Published: 10.02.2017
Difficulty: BEGINNERS
Runtime: 00:03:21

  Being picky with our /rest/{paths}/ - (or: all things you must know about @PathVariables)

What is a @PathVariable and what are its dirty little secrets (hint: regex)? Find out here!

> > Watch Now
Spring Boot@RestController@PathVariableRegex
Published: 09.02.2017
Difficulty: BEGINNERS
Runtime: 00:05:26

  Receiving simple values (or: strings, ints, dates etc) with HTTP GET

How can you receive simple values like Strings or Numbers or Dates with your Rest Server via HTTP GET? Find out here!

> > Watch Now
Spring Boot@RequestParamHTTP GET
Published: 12.01.2017
Difficulty: BEGINNERS
Runtime: 00:05:59

  Receiving simple values (or: strings, ints, dates etc) with HTTP POST

How can you receive simple values like Strings or Numbers or Dates with your Rest Server via HTTP POST? Find out here!

> > Watch Now
Spring Boot@RestController@RequestParamHTTP POST
Published: 12.01.2017
Difficulty: BEGINNERS
Runtime: 00:04:54

  Receiving complex JSON and XML

How can you receive simple json or xml or complex forms with your Rest Server? Find out here!

> > Watch Now
Spring Boot@RestController@RequestBodyJSONXML
Published: 12.01.2017
Difficulty: BEGINNERS
Runtime: 00:05:26

  The Perfect Project Setup with Maven

Are you wondering what the simplest, fastest and best method is to get started with a Spring Boot project based on Maven? Just watch this video.

> > Watch Now
Published: 28.12.2016
Difficulty: BEGINNERS
Runtime: 00:02:39

  The Perfect Project Setup with Gradle

Are you wondering what the simplest, fastest and best method is to get started with a Spring Boot project based on Gradle? Just watch this video.

> > Watch Now
Published: 28.12.2016
Difficulty: BEGINNERS
Runtime: 00:03:13

  Hello World - Accepting GET Requests

Want to get a quick start with Spring Boot and get a fully working GET Rest Controller working in a couple of minutes? . Then this video is for you.

> > Watch Now
Published: 28.12.2016
Difficulty: BEGINNERS
Runtime: 00:03:57

  Hello World - Returning JSON

Sending and receiving plain text is boring. Let's send some JSON instead!

> > Watch Now
Published: 28.12.2016
Difficulty: BEGINNERS
Runtime: 00:03:38

  Hello World - Accepting POST Requests

"GET"ting boring? Try "POSTING" and receiving some JSON, instead.

> > Watch Now
Published: 28.12.2016
Difficulty: BEGINNERS
Runtime: 00:04:03

  Deploying Spring Boot Applications with Maven

Deploying Java application has never been easier. Find out what Spring boot has to offer.

> > Watch Now
Published: 28.12.2016
Difficulty: BEGINNERS
Runtime: 00:02:32

  Deploying Spring Boot Applications with Gradle

Deploying Java application has never been easier. Find out what Spring boot has to offer

> > Watch Now
Published: 28.12.2016
Difficulty: BEGINNERS
Runtime: 00:02:42