Overview of Advanced Java
This corporate training program dives into Advanced Java concepts and features starting from JDBC, Java Concurrency, working with XML, JSON, Server concepts, moving all the way into introduction of Spring, Spring boot and Spring Web concepts.
Duration
5 Days
Prerequisite for Advanced Java
All attendees must be experienced Java developers with a good understanding of object-oriented principles and with a basic understanding of database.
Course Outline for Advanced Java
JDBC, Connection pooling, Using Generics to build reusable DAO classes
- JDBC APIs and types of JDBC drivers
- Steps to create a database connection
- Externalizing JDBC properties using the properties file
- Overview of Statement, Resultset, PreparedStatement, CallableStatement
- Connection pool using Apache DBCP
- Configuration of a Connection pool
Java Concurrent Programming
- Drawbacks of traditional multi-threading
- Concept of Resource Pooling leading to ThreadPools
- ExecutorService APIs
- Configuring Threadpools
- Submitting Runnable task
- Submitting a Callable task and Future object
- Exception handling in the thread pool
- Application of thread pool
- Working with concurrent collections – Blocking and non-blocking operations
Working with XML, JSON, Parsers
- Introduction to XML (DTD/Schema)
- Need for XML
- XML parsers
- Introduction to JSON
- Comparing JSON with XML
- JSON serialization / deserialization using Jackson
Server Side Programming
- Introduction to server-side programming
- Introduction to Web server
- Servlet hierarchy
- Servlet life cycle
- Servlet specifications
- Handling requests from forms
- Generating dynamic response
- Handling Exceptions
- Role of servlet in an n-tier architecture
- Session tracking
- Servlet Chaining
- Servlet Filter
ORM Entity programming
- Hibernate
- Introduction to Persistence Framework
- Hibernate Architecture
- Other Persistence framework products
- XML Mapping of Java classes with database tables.
- Persistence Objects
- Connection Management
- Transaction Management
- ORM Entity Programming
- Persistence Life Cycle-Transient/Persistent/Detached Objects
- Using Hibernate to interact with the database
JSP, MVC Architecture, ORM Entity programming
- JSP
- Introduction to Java Server Pages
- JSP-Architecture
- Role of JSP in an n-tier architecture
- Implicit objects
- JSP life cycle methods
- Handling requests from forms
- Plugin Java Bean in JSP
- Custom tags
- Using Tag Libraries
- MVC Architecture
- Introduction to Web-based MVC Architecture
- Using Component as Model
- Creating a web app using MVC Architecture
- Introduction to popular MVC Frameworks
Introduction to Spring, Spring Boot, Spring Web and Data Access
- Spring Framework
- Spring Framework Overview by creating a Web and Data
- Application.
- Introduction to Spring Boot
- A quick introduction to Spring Boot by creating a REST Web
- App.
- Spring Boot Internals
- Configuration, Auto-Configuration
- Spring Boot Features
- Packaging, SpringApplication class, External Configuration,
- Profiles and Logging
- Spring Boot Web Development And Rest Services
- Spring Web MVC an Overview
- Web Development with Spring Boot
- Data Access With Spring Boot
- JPA
- JPA Rest