Course Outline:
DURATION: 15 Days
Module 1: Java Language Basics (2 day):
- Java Platform Overview.
- Language Syntax.
- Expression, Statement, Block.
- Write “Hello Wolrd” Java Program.
- Comments.
- Data Types.
- Variables.
- Strings.
- Arrays.
- Control Structures – if, if..else, switch…case.
- Loops – while, do…while, for, foreach.
- Static.
- Methods.
- Pass by Parameter, Pass by Reference.
- Packages.
Module 2: Object Oriented Programming with Java (1 day):
- Class.
Module 3: Java Collection Framework (1 day):
- Java Collection Framework Overview.
- Collection Data Structures – List, Set, Map, Queue.
- Working with different Collection implementations and Algorithms.
- ArrayList, Vector, LinkedList, HashSet, TreeSet, Hashtable, HashMap, TreeMap.
Module 4: Exception Handling and IO (0.5 day):
- Exception vs Error.
- Checked vs Unchecked Exception.
- try..catch…finally.
- throw, throws.
- Write custom exception.
- Intro to Java I/O.
- Reading and Writing data from Console, File using IO and NIO classes.
Module 5: Generics and Annotations (0.5 day):
- Generics Overview.
- Applying Generics on Collection Framework.
- Annotations Overview.
- Understanding pre-defined annotations.
- Defining custom annotations.
Module 6: Multi-Threading (1 day):
- Process vs Threads.
- Thread Lifecylcle.
- Thread creation and execution.
- Thread Constructs – wait, notify, notifyall, interrupt, sleep, join, volatile, yield.
- Thread Priority.
- Daemon threads.
- Thread Groups.
- ExecutorService APIs.
Module 7: Java 8 features (1 day):
- Fundamentals of Functional Programming.
- Lambda Expressions.
- Functional Interfaces.
- Stream API – foreach, map, filter, parallel processing, collectors, etc.
- Method References.
- Default Methods.
- Optional Class.
- New Date/Time API.
Module 7: Java 8 features (1 day)
- Fundamentals of Functional Programming
- Lambda Expressions
- Functional Interfaces
- Stream API – foreach, map, filter, parallel processing, collectors, etc.
- Method References
- Default Methods
- Optional Class
- New Date/Time API.
Module 8: JDBC (1 day)
- Intro to JDBC.
- JDBC Architecture.
- JDBC drivers.
- Connection Object.
- Types of statements (Statement, PreparedStatement, CallableStatement).
- Working with JDBC data types.
- Transaction Mangement.
- Using ResultSet and RowSet Objects.
- Creating and executing database queries and processing the results.
Module 9: Introduction to Spring Framework (1 days):
- Introduction to Web Technologies.
- Overview of Spring framework.
- Spring Core – Spring Context, Dependency Injection/IoC, Bean Life Cycle Management, Bean Wiring.
- Setting up and configuring development environment – Java, Eclipse/STS and Maven.
- Lab exercises to practice Spring Core concepts – DI/IoC, Auto Wiring, etc.
Module 10: Introduction to Spring Boot (1 days):
- Spring Boot Overview.
- Create Spring Boot Project.
- Spring Boot Features.
- Auto-Configuration.
- @SpringBootApplication Annotation.
- Externalized Configuration.
- Profiles, Logging, Packaging.
- Spring Boot Sample Application.
- Spring Boot Monitoring and Management.
Module 11: Introduction to REST (2 days):
- RESTful Webservices Overview.
- REST concepts.
- SOAP vs REST.
- Defining REST API.
- WADL Overview.
- JAX-RS Overview.
- Spring REST Overview.
- @Controller, @RestController.
- @RequestMapping.
- @PathVariable, @QueryVaraible, @MatrixVariable.
- @RequestBody, @ResponseBody.
- @GET, @POST, @PUT, @DELETE.
- Producing/Consuming Text.
- Producing/Consuming XML.
- Producing/Consuming JSON.
- Injecting Path, Query, Form and Header Parameters.
- Data Validation.
- Session Management.
- Working with different Media Types.
- Content Negotiation.
- Handling Exceptions.
- Exception Mapping and Providers.
- HATEOAS Maturity Model.
- REST Clients – Postman, REST Client API, REST Template.
- Create and publish RESTful Web Services.
- Build client to consume RESTful Web Services.
- Lab exercises to practice RESTful Webservices concepts and Spring Integration.
Module 12: Introduction to MySQL / SQL (1 days):
- Introduction to RDBMS.
- Introduction to MySQL.
- Introduction to SQL – DDL, DML and DCL.
- Data Types and Operations.
- Database CRUD operations (INSERT, UPDAT, DELETE and SELECT).
- Joins, Sub queries, Aggregations, Grouping.
Modul 13: Introduction to JDBC, ORM/JPA and Spring Data (2 days):
- Overview of Spring JDBC Template.
- Lab exercises to perform CRUD operation using Spring JDBC.
- Overview of ORM framework – JPA / Hibernate.
- Spring ORM.
- Lab exercises to perform CRUD operation using Hibernate / Spring JDBC.
- Spring Data Overview.
- JPA Repository.
- Lab exercises to perform CRUD operation using Spring Data – JPA Repository.