About This Unit

This skill-track is an introduction to back-end Java development.

Synopsis

The Java track covers the essentials of object-oriented Java development, along with portions of the Spring framework.

Java is one of the more prominent object-oriented languages, and is widely used by professional programmers. You learned a bit about classes and objects as we completed Unit 1, but we'll dive much deeper this time. In addition to creating classes to serve as blueprints for objects, we'll look at the many ways that classes and objects can be used to create robust and flexible programs.

After covering object-oriented concepts, we'll turn to Spring. Spring is a Java framework that has several large components. We will focus primarily on the Spring MVC component, and, more precisely, Spring Boot. Spring Boot is used to build MVC web applications in Java, including all of the categories of functionality that we saw in Unit 2: templating, database integration, routing, etc.

Once you complete these classes, you will be well equipped to create a final project!

Topics

Java and Object-oriented Programming

  • Intro to Java: Characteristics of the Java language, and procedural Java syntax
  • Objects and Classes: Objects are the basis of everything in Java. These powerful constructs have a wide range of uses.
  • Unit Tests are an important piece of any program. We don't know if something works unless we test it!
  • Inheritance, Polymorphism and Interfaces are useful for leveraging common behaviors and functionality across your classes.
  • Exceptions are used to inform users of invalid inputs or unexpected behaviors.
  • More! There are a lot of nuances to Java. We'll cover a few of these in addition to what's above.

Spring Boot

  • Dependency injection is a technique that allows some of our objects to be created and managed by Spring. It adds flexibility to our programs, and will be an essential part of Spring Boot.
  • Spring Boot is a special version of Spring MVC that will allow us to easily create full-featured web applications.
  • Templates As in Unit 2, we'll use templates to display the views of our web apps.
  • Persistence We'll look at how to set up classes so that Spring can manage storing and retrieving them from a database.