Java Enterprise Edition 8 for Beginners course

Java Enterprise Edition 8 for Beginners course

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 29.5 Hours | 19.5 GB

Understand Jakarta EE, JPA, CDI, JAX-RS, REST, JWT, JSON-P and JSON-B and more. Add “JEE Developer” to your résumé!

Are you ready to take your Java skills to the next level and finally understand Java Enterprise Edition (JEE) ?

The fact is, that Java Enterprise Edition is in use by companies around the world, including many of the Fortune 500 companies. Because of this there a lots of JEE opportunities and as a JEE developer you will be among the highest paid of all Java developers.

This course will get you up to speed quickly and give you the real world skills you need to add “Java Enterprise Edition 8 developer” to your résumé fast!

What’s this course about?

Java Enterprise edition has changed and evolved a lot over the years. This course is about teaching you what JEE is, and how to use it and become a productive JEE developer.

The course focuses on JEE 8 (also known as Jakarta EE).

By taking this course you will avoid learning about obsolete versions of Java EE, and learn best practices along the way.

The course starts at a theoretical level helping you to understand the underpinnings of JEE 8, including understanding the JEE specifications and implementations (which is a very important for a Java Enterprise Edition developer to understand).

But then you will dive into understanding JEE 8 at a developmental level with practical hands-on development. Ultimately, this is a hands-on course, so you will be doing a lot of coding as you learn how to use JEE 8.

Your instructor in this course is Luqman Saeed, an experienced software developer who has vast knowledge in a number of programming languages including Python, C# and of course Java. He also has extensive Java Enterprise Edition (JEE) experience and has created a great course to pass on his skills with JEE to you.

Some of the highest paid jobs in the industry for Java developers are available to those people who know and understand JEE, so here is your chance to dramatically increase your salary and future career opportunitues.

What topics are covered in this course?

General JEE concepts

Contexts and Dependency Injection (CDI 2.0)

Java Persistence API (JPA 2.2)

Java API for Restful Web Services (JAX-RS 2.1)

JWT (Json Web Token)

Java API for Web Sockets

Testing with Arquillian Framework and JUnit.

And a lot more.

Why take this course?

This is the most comprehensive Java EE/Jakarta EE course on the internet with 340+ HD video lectures!

Learn how to write full working Java EE code that is portable across various JEE vendors.

The course has a pure standard Java EE API usage focus on app portability across vendors. This is an important skill to master.

In-depth coverage of database persistence with JPA.

This is the only online course that teaches the Contexts and Dependency Injection API in detail!

In-depth coverage of developing REST web services using standards based JAX-RS.

Course constantly updated to reflect latest update with Jakarta EE.

What you’ll learn

  • Understand the theoretical underpinnings of Java Enterprise Edition (JEE)
  • Understand what JEE specifications and implementations are and how to use them
  • Learn to create applications using JEE!
  • Learn to write loosely coupled code using dependency injection API (CDI)
  • Learn how the various Java EE APIs work together to make you a productive developer
  • Learn to write powerful web services using the Java API Restful Web Services (JAX-RS)
  • Master a set of web services that can facilitate rapid development of strong enterprise level applications
  • Build complex database applications based on platforms using its services and APIs
  • Write integration tests for Java EE components
  • And much more!
Table of Contents

Introduction
1 Introduction to the Course

The Theory of Java EE
2 What is Java EE
3 Summary What is Java EE
4 What is an Application Server
5 Examples of Java EE App Servers
6 What is a JSR
7 Java Specification Request Examples
8 Java Specification Request Examples – JAX-RS
9 What is a Reference Implementation
10 What is Jakarta EE
11 Java EE and Spring Framework

Setup
12 Intro to Software Setup
13 A Simple Hello World with Java EE 8
14 How to Install JDK on Windows
15 How to Install NetBeans IDE On Windows
16 A Note on IDEs
17 A Note on Eclipse IDE
18 How to Install GIT SCM on Windows
19 How to Install Insomnia REST Client
20 How to Install Apache Maven on Windows
21 Downloading Payara Micro Server

Getting Your Feet Wet
22 Getting Your Feet Wet – Introduction
23 Packaging and Deployment
24 Testing our Todo Endpoints
25 Testing our Todo Endpoints cont’d
26 Validating our Todo Entity
27 Marking a Todo Object as Complete
28 Packaging and Deployment
29 Testing Bean Validation
30 Java EE Uber Jar
31 Packaging and Deploying with Payara Micro
32 Outro
33 Project Creation
34 What is Your Understanding of Java EE
35 The 3 Secret APIs to Java EE Mastery
36 Secret API 1 – Java Persistence API
37 Secret API 2 – Java API for RESTful Web Services
38 Secret API 3 – Contexts and Dependency Injection
39 Creating the Todo Object
40 Transforming the Todo Object into a JPA Entity
41 Entity Lifecycle Callback
42 Persistence Unit
43 Todo Service
44 Todo REST Endpoints
45 Overview of What Has Been Done so Far

Contexts and Dependency Injection (CDI 2.0)
46 Introduction to CDI
47 What are Beans and Contextual Instances
48 CDI Injection Point – Field
49 CDI Injection Point – Constructor
50 CDI Injection Point – Method
51 CDI Lifecycle callback – PostConstruct
52 CDI Lifecycle callback – PreDestroy
53 Let’s Run the Code!
54 Managed Beans and Bean Types
55 Introduction to CDI Qualifiers
56 CDI Qualifiers Part 2
57 What is Dependency Injection
58 CDI Qualifiers Part 3
59 CDI Qualifiers Part 4
60 Let’s Run the Code!
61 Let’s Run the Code! cont’d
62 CDI Stereotypes – What are they
63 Introduction to CDI Scopes and Contexts
64 CDI Scopes and Contexts – Dependent Scope
65 CDI Scopes and Contexts – Request Scope
66 CDI Scopes and Contexts – Session Scope
67 CDI Scopes and Contexts – Application and Conversation Scope
68 CDI Features – Typesafe Dependency
69 CDI Scopes and Contexts – Recap
70 CDI Scopes and Contexts – Let’s Run the Code!
71 Summary of CDI Scopes and Contexts
72 CDI Producers – An Introduction
73 CDI Producers – Scoping Returned Beans
74 CDI Producers – Field Producers
75 CDI Producers – Qualifying Beans
76 CDI Producers – Let’s Run the Code!
77 CDI Producers – Disposers
78 CDI Producers – Summary
79 CDI Features – Lifecycle Contexts
80 CDI Interceptors – An Introduction
81 CDI Interceptors – Interceptor Binding Code
82 CDI Interceptors – Activating Using Priority Annotation
83 CDI Interceptors – Let’s Run the code!
84 CDI Events – An Introduction
85 CDI Events – The Event Interface API Docs
86 CDI Events – The Event Interface
87 CDI Events – Simple Events
88 CDI Events – Qualifying Events
89 CDI Events – Conditional Observers
90 CDI Features – Interceptors
91 CDI Events – Async Events
92 CDI Events – Prioritizing Observer Method Invocation
93 CDI Events- Let’s Run the Code
94 Chapter Summary
95 CDI – Features – Events
96 CDI Features – Service Provider Interface
97 CDI Bean Discovery Mode
98 What is the CDI Container

Java Persistence API (JPA 2.2)
99 Java Persistence API – Overview
100 JPA and the ORM Manifesto Tenets
101 Cascade Operations – Remove
102 Entity Detachment
103 Entity Merging
104 Elements of a Persistence Unit – Name
105 Elements of a Persistence Unit – Transaction Type
106 Elements of a Persistence Unit – Persistence Provider
107 Elements of a Persistence Unit – Datasource
108 Elements of a Persistence Unit – Entity Classes
109 Elements of a Persistence Unit – Schema & Script Generation
110 Recap
111 JPA Database Setup
112 Java Persistence Query Language – An Introduction
113 JPQL – A Simple Select Statement
114 JPQL – Named Queries
115 JPQL – Selecting Entities
116 JPQL – Identification VariablesAliasing
117 JPQL – Passing Query to Entity Manager
118 JPQL – Path Expressions
119 JPQL – Path Expressions cont’d
120 JPQL – Combined Path Expressions
121 JPQL – Constructor Expressions
122 Setting up Payara Server
123 JPQL – From Clause
124 JPQL From Clause – Joining Maps
125 JPQL From Clause – Fetch Join
126 JPQL Where Clause
127 JPQL Where Clause – Passing Parameters
128 JPQL Where Clause – Between Operator
129 JPQL Where Clause – Like Operator
130 JPQL Where Clause – Subqueries
131 EntityManager Interface – GetSingleResult Method
132 JPQL Where Clause – In Operator
133 JPA Entity – An Introduction
134 JPQL Where Clause – IS EMPTY Operator
135 JQPL Where Clause – Member OF Operator
136 JPQL Where Clause – ANY, ALL Operator
137 JPQL Order By
138 JPQL Aggregate Functions Intro
139 JPQL Aggregate Functions – Sum
140 JPQL Aggreagate Functions – Average
141 JPQL Aggregate Functions – Count
142 JPQL Aggregate Functions – MaxMin
143 JPQL Aggregate Functions – Having
144 JPA Entity – Customizing Table Mapping
145 Summary and Recap – JPQL
146 JPA Criteria Query
147 Validation – Intro
148 JPA Validation – Bean Validation
149 JPA Validation – Bean Validation cont’d
150 Bean Validation Other Constraints
151 Entity Lifecycle Callbacks
152 Entity Lifecycle – Other Callbacks
153 Entity Listeners
154 Entity Listeners – How to Create Them
155 JPA Entity – Using Super Classes
156 Entity Listeners – Associating Entities with Listeners
157 JPA Native Queries
158 JPA Native Queries – Named Native Queries
159 JPA Native Queries – Dynamic Native Queries and Warning Suppression
160 JPA – Equals and Hashcode Overriding Intro
161 JPQ -Equals and Hashcode Methods Overriding
162 JPQ -Equals and Hashcode Methods Overriding cont’d
163 JPA Outro
164 JPA Entity – Super Class Field Overriding
165 JPA Entity – Mapping Simple Java Types
166 JPA Entity – Customizing Database Colums
167 JPA Entity – Transient Fields
168 JPA – Caveat
169 JPA Entity – Field Access Type
170 JPA Entity – Property Access Type
171 JPA Entity – Mixed Access
172 JPA Mapping Types
173 JPA – Mapping Enum Types
174 JPA – Mapping Large Objects (Eg images)
175 JPA – Lazy and Eager Fetching of Entity State
176 JPA – Mapping Java 8 DateTime Types
177 JPA – Mapping Embeddable Classes
178 Recap
179 ORM Manifesto – Objects, not Tables
180 Code Run
181 JPA – An Intro to Mapping Primary Keys
182 JPA – Auto Primary Key Generation Strategy
183 JPA – Identity Primary Key Generation Strategy
184 JPA – Sequency Primary Key Generation Strategy
185 JPA – Table Primary Key Generation Strategy
186 JPA – Table Primary Key Generation Strategy cont’d
187 Primary Key Generation Strategies – Summary
188 JPA – An Intro to Entity Relationship Mapping
189 JPA Entity Relationship Mapping – Roles
190 ORM Manifesto – Convenience, not Ignorance
191 JPA Entity Relationship Mapping – Directionality
192 JPA Entity Relationship Mapping – Cardinality
193 JPA Entity Relationship Mapping – Ordinality
194 Introduction to JPA Entity Relationship Mapping
195 Single Valued Relationships
196 Many to One Entity Relationship Mapping
197 One to One Entity Relationship Mapping
198 Bidirectional One to One Entity Relationship Mapping
199 Collection Valued Relationships
200 One to Many Entity Relationship Mapping
201 ORM Manifesto – Unobtrusive, not Transparent
202 Many to Many Entity Relationship Mapping
203 Many to Many Entity Relationship Mapping – Join Tables
204 JPA Fetch Mode
205 Sample Code Run
206 JPA Collection Mapping of Embeddable Objects and Collection Table
207 JPA Collection Mapping of Strings (Or other Simple Java types)
208 Persistable Collection Types
209 Ordering the Contents of a Persistable Collection
210 Ordering the Contents of a Persistable List using Order Column
211 Mapping Persistable Maps
212 ORM Manifesto – Legacy Data, New Objects
213 Customizing Persistable Maps with Collection Table
214 Using Enums as Persistable Map Keys
215 Mapping Persistable Maps – Run the Code
216 Keying Persistable Maps by Basic Type
217 Keying Persistable Maps by Entity
218 Keying Persistable Maps by Embeddable Type
219 Recap
220 Enterprise JavaBeans (EJBs) – What Are They
221 Features of EJB – Declarative Metadata
222 Features of EJB – Configuration by Exception
223 ORM Manifesto – Just Enough, Not Too Much
224 Features of EJB – Dependency Management
225 Features of EJB – Lifecycle Management
226 Features of EJB – Scalability
227 Features of EJB – Transactionality
228 Features of EJB – Security
229 Features of EJB – Portability
230 Architecture of EJB
231 EJB Component Model – Stateless Session Beans
232 EJB Component Model – Stateless Session Beans cont’d
233 EJB Component Model – Stateful Session Beans
234 ORM Manifesto – Local, but Mobile
235 EJB Component Model – Singleton Beans
236 EJB Component Model – Lifecycle
237 EJB Component Model – Message Driven Beans
238 The EJB Container – What Is it
239 What are Transactions
240 ACID Transactions – Atomicity
241 ACID Transactions – Consistency
242 ACID Transactions – Isolation
243 ACID Transactions – Durability
244 ACID Transactions – Summary
245 ORM Manifesto – Standard API, Pluggable Implementation
246 Transactions Management – Bean vs Container
247 CMT Transactions Management Attributes
248 Persistence Unit and Persistence Context – Intro
249 What is a Persistence Unit
250 What is a Persistence Context
251 Entity Manager – How to Get Access
252 Entity Manager – Persist
253 Entity Manager – Find
254 Entity Manager – Remove
255 Cascade Operations

Java API for Rest Web Services (JAX-RS 2.1)
256 JAX-RS Client – Insomnia
257 JAX-RS REST Resource Methods
258 JAX-RS – HTTP GET
259 JAX-RS – HTTP POST
260 JAX-RS – HTTP PUT
261 JAX-RS – HTTP DELETE
262 JAX-RS In Practice – The Employee Resource GET Methods
263 JAX-RS In Practice – Injecting the Service Layer
264 JAX-RS In Practice – The Employee Resource POST Method
265 An Introduction To Content Types
266 An Introduction To Content Types cont’d
267 REST Architecture Constraints – Client and Server
268 JAX-RS in Practice – Declaring Content Types with @Produces
269 JAX-RS Context Types – Sample Code Run
270 JAX-RS In Practice – Class Level @Produces
271 JAX-RS in Practice – Declaring Content Types with @Consumes
272 JAX-RS in Practice – Path Params with @PathParam
273 JAX-RS in Practice – Restricting Path Templates with Regex
274 JAX-RS in Practice – Setting Default Value for Path Params
275 JAX-RS in Practice – Query Params with @QueryParams
276 JAX-RS Recap
277 JAX-RS in Practice – An Intro to the Response Object
278 REST Architecture Constraints – Stateless
279 JAX-RS in Practice – The Response Object
280 JAX-RS in Practice – The @Context Annotation
281 JAX-RS in Practice – Using the UriInfo to Create Meaningful Responses
282 JAX-RS Response Object – Sample Code Run
283 JAX-RS Recap
284 JAX-RS in Practice – Intro to Exception Mappers
285 JAX-RS in Practice – Exception Mappers
286 JAX-RS Exception Mappers – Sample Code Run
287 JAX-RS in Practice – Consuming Form Fields with @FormParam
288 JAX-RS in Practice – Consuming Form Fields with @FormParam cont’d
289 REST Architecture Constraints – Cacheable
290 JAX-RS in Practice – Consuming Form Fields with MultivaluedMaps
291 JAX-RS in Practice – Consuming Form Fields with @BeanParam
292 JAX-RS in Practice – Getting headers info with @HeaderParam
293 JAX-RS in Practice – Some Injection Annotations
294 JAX-RS in Pracetice – Caching
295 JAX-RS in Practice – Caching with CacheControl and Etags
296 Content Negotiation – An Introduction
297 JAX-RS in Practice – Client Content Negotiation
298 JAX-RS in Practice – Content Negotiation via HttpHeaders
299 JAX-RS in Practice – Content Negotiation via QS
300 REST Architecture Constraints – Uniform Interface
301 JAX-RS in Practice – File Upload
302 JAX-RS in Practice – File Download
303 JAX-RS in Practice – Injecting a Logger
304 JAX-RS in Practice – Setting Cookies on the Client
305 JAX-RS in Practice – An Introduction to Filters
306 JAX-RS in Practice – Static Container Response Filter
307 JAX-RS in Practice – Static Response Filter Sample Code Run
308 JAX-RS in Practice – Dynamic Container Response Filters
309 JAX-RS in Practice – Dynamic Container Response Filters cont’d
310 JAX-RS in Practice – Dynamic Response Filter Code Run
311 REST Architecture Constraints – Layered Interface
312 JAX-RS in Practice – Pre-Matching Container Request Filters
313 JAX-RS in Practice – Pre-Matching Container Request Filter Code Run
314 JAX-RS in Practice – Intro to Security with Request Filters
315 JAX-RS in Practice – Third Party Libraries
316 JAX-RS in Practice – JWT Security Sample Code Run
317 JAX-RS in Practice – Authentication with JWT and Filters Part 1
318 JAX-RS in Practice – Authentication with JWT and Filters Part 2
319 JAX-RS in Practice – Authentication with JWT and Filters Part 3
320 JAX-RS in Practice – Authentication with JWT and Filters Part 4
321 JAX-RS in Practice – Authentication with JWT and Filters Part 5
322 JAX-RS Root Resource – Application Class
323 JAX-RS in Practice – Authentication with JWT and Filters Part 6
324 JAX-RS in Practice – JWT Authentication Summary
325 JAX- RS in Practice – Asynchrounous Resources
326 JAX- RS in Practice – Asynchrounous Resources cont’d
327 JAX-RS in Practice – JSON-B Integraion
328 JAX-RS in Practice – JSON-P Integration and Hypermedia
329 JAX-RS in Practice – JSON Processing Sample Code Run
330 JAX-RS in Practice – Synchronous Client API
331 JAX-RS in Practice – Async Client API
332 JAX-RS in Practice – Client Sample Code Run
333 JAX-RS – Hello World!
334 JAX-RS in Practice – An Intro to Server Sent Events
335 JAX-RS in Practice – Implementing SSE with JAX-RS
336 JAX-RS in Practice – Sample Code Run and SSE Summary
337 Java EE in Practice – Docker Deployment
338 JAX-RS Class Resources with @Path Annotation

Websockets
339 Java EE Websockets – Annotated Endpoints
340 Java EE Websockets – Programmatic Endpoints
341 Java EE Websockets – URI Templates
342 Java EE Websockets – Encoders and Decoders
343 Java EE Websockets – Summary
344 Java EE Websockets – Sample Code Run

Testing Java EE
345 Java EE Testing – An Introduction
346 Java EE Testing – Introducing Arquillian
347 Java EE Testing – Dependency Setup
348 Java EE Testing – Failing a Test
349 Java EE Testing – Passing a Test
350 Java EE Resources

Capstone Project 1 – Todo App
351 Introduction to Capstone Project
352 Querying the Todo Entity
353 The Todo Service Class
354 The Todo Service Class – Save TodoUser Method Impl Part 1
355 The SecurityUtil Class
356 The Todo Service Class – Save TodoUser Method Impl Part 2
357 Todo Service Test
358 Preventing Double Signups with an Email
359 Find Todo By Id Method Implementation
360 Get List of Todos Method Implementation
361 Get Todos By Task Method Implementation
362 Introductiont to Testing with Arquillian Part 1
363 Stateless Security with JWT – The Authz Annotation and Filter Implementation
364 Adding the JWT Library to the Project
365 Stateless Security with JWT – ContainerRequestFilter Implementation Part 1
366 Stateless Security with JWT – ContainerRequestFilter Implementation Part 2
367 Stateless Security with JWT – ContainerRequestFilter Implementation Part 3
368 Stateless Security with JWT – ContainerRequestFilter Implementation Part 4
369 Stateless Security with JWT – ContainerRequestFilter Implementation Part 5
370 Stateless Security with JWT – ContainerRequestFilter Implementation Part 6
371 Stateless Security with JWT – Recap
372 REST Web Service – The Save User Resource Method
373 Introductiont to Testing with Arquillian Part 2
374 Refactoring the Old TodoRest Resource Class
375 Let’s Run Our App
376 Packaging with Docker – Primer
377 Packaging with Docker
378 Running our First Test Part 1
379 Running our First Test Part 2
380 Modelling the Todo User
381 Modelling the Todo User Basic Attributes
382 Adding Validation Constraints to TodoUser
383 Querying the TodoUser

Bonus Material
384 Bonus – Please Watch!
385 Check out Our Other 36 Udemy Courses!
386 Source Code