hands-on lab

Accessing Resources using Java Annotations, CDI, JDBC, and JPA

1h 30m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Lab Overview

Connecting to and consuming external resources such as databases, filesystems, and other data sources using Java is an essential skill needed to create applications that provide real enterprise business value.

This lab is designed to expand your knowledge involving Java technologies like Annotations, CDI, JDBC, and JPA all of which can be used to help you access and consume external resources. You will be required to complete the following Java coding exercise:

  • Exercise 1 - Annotations: Complete the code required to implement 2 custom annotations, @Persist and @Identifier, which are then later used in combination to persist Employee objects out to the filesystem at runtime
  • Exercise 2 - CDI: Complete the code required to implement and use dependency injection using CDI (Contexts and Dependency Injection) to read Movie data stored in data file on the filesystem
  • Exercise 3 - JDBC: Complete the code required to connect to a Derby-based SQL database using JDBC
  • Exercise 4 - JPA: Complete the code required to perform object-relational mapping into a Derby-based SQL database using JPA (Java Persistence API)

Note: The Modules exercise is supplied with a fully completed solution code for reference when required.

Lab Objectives

Upon completion of this lab, you will be able to:

  • Be able to work confidently with Java Annotations
  • Implement and configure dependency injection using CDI
  • Implement, configure, and connect to SQL databases using JDBC
  • Understand the benefits of working with JPA to implement object-relational mapping 
  • Run and debug the Java code and examine the results that are printed to the console

You should:

  • Be comfortable with using a browser-based IDE

Lab Environment

This lab will start with the following AWS resources provisioned automatically for you:

  • A single EC2 instance, named ide.java.platform.instance, which will have a public IP address attached. This instance will host a web-based Java IDE (based on the Visual Code editor).

To achieve the lab end state, you will be walked through the process of:

  • Using your local browser, access the web-based Java IDE served from the ide.java.platform.instance
  • Completing the following lab exercises:
    • Exercise 1 - Annotations
    • Exercise 2 - CDI
    • Exercise 3 - JDBC
    • Exercise 4 - JPA


February 13th, 2020 - Updated screenshots to reflect the use of a newer version of Maven

June 16th, 2018 - Optimized creation of lab resources to reduce the time it takes to access the browser IDE by 60%.

About the author
Jeremy Cook, opens in a new tab
Content Lead Architect
Learning paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).

Covered topics
Lab steps
Connecting to the CloudAcademy Web based IDE
Exercise 1 - Annotations
Exercise 2 - CDI
Exercise 3 - JDBC
Exercise 4 - JPA