Java: Full Stack Development
Course Overview
Java full stack development is a robust and highly sought, after skill set in the tech industry, combining expertise in both front-end and back-end technologies. Java full stack development involves a blend of various technologies, making it a versatile and valuable skill in the development landscape.
Prerequisites: Students should have at least a high school diploma or GED, along with good computer knowledge.
3 Months (192 Hours) of Long Professional Course.
Course Curriculum
Module 1: Introduction to JAVA Programming and concepts
HTML5: Need and Benefits of HTML, Setup, Browser, BOM and DOM, DOCTYPE, Character Encoding, , , , HTML5 Document, Comments. Formatting Tags, List, Table, Form & Input Tags, Images, Styles, placeholder, inline and block elements, id vs class attributes
CSS3: Need and Benefits of CSS, Setup, CSS Syntax, CSS Comments, Including CSS in HTML Documents(Inline styles, Embedded styles, External style sheets), CSS3 Selectors – Universal Selector, Element Type Selector, Id Selectors, Class Selectors, Grouping Selectors, CSS Color, CSS Background, CSS Fonts, CSS Text, CSS Links, CSS Lists, CSS Tables, CSS Box Model, Margin, padding, border, Outline, Visibility vs. Display, Multiple Columns
Javascript: JavaScript Basics, DOM, Variables, Datatypes, Type Conversions, Operators, Comparisons, Interactions, Loops, Functions, Function expression, Control Flow, Conditionals, Array, String, Date, Math, Number, Boolean, Functions, JSON, Regular Expression, Objects, Arrays and Functions, JSON
Module 2: Bootstrap Fundamentals and Components
Bootstrap Fundamentals
Responsive Web Design (RWD), Disadvantages of sites without RWD, Mobile First design, Bootstrap 4, emulate devices in Chrome Browser; doctype, viewport meta tag and attributes, Bootstrap CDN
Grid System, 12 columns, devices and corresponding prefix of bootstrap class, container, container-fluid, row, col
navbar, navbar-expand-lg, navbar-dark, bg-dark, navbar-brand; navbar-nav, nav-item, nav-link; navbar-toggler, navbar-toggler-icon, collapse, navbar-collapse, ml-auto
Troubleshooting UI issues using Chrome Developer Tools
Element selection; Applying Styles directly using Developer Tools
Bootstrap Components
badge, badge-primary, Google Material Icon, Content Delivery Network (CDN), include icons in web page; list-group, list-group-item; card, card-title, card-body, card-text, change mouse cursor on hovering an icon; Display a list of cards using grid system and thus enabling RWD; Develop form with textbox, password, drop down, date using gijgo, radio button and checkbox form-row, form-group, form-control, form-check, form-check-input, form-check-label, form-check-input
Bootstrap Styles
Separate CSS file for customization, overriding the styles of Bootstrap
Jquery and its features
Javascript framework, DOM manipulation, event handling, how to use – download js/CDN, basic usage thru $, $(document)
Basic components
Selectors – TagId, Tagname, tag class; attributes – text, attr, val, html, addClass, chaining of attributes
DOM manipulation & events
content manipulation, DOM element addition and removal, append, clone, Events – click, change, blur, dblclick, load, keyup, mouseover, unload
Module 3: ANSI SQL
ANSI SQL
Introduction to SQL/NoSQL, Advantages and Disadvantages
Table and Views, DDL, DML, Query and Operations, Clauses, Aggregate Functions, String Functions, GROUP BY, Having, Rank Functions, Joins, Sub queries
Module 4: Core JAVA
Core Java
Principles of OOP, Inheritance, Polymorphism, Classes, Methods, Coupling and Cohesion, Abstraction, Encapsulation, Constructors
Overloading, Overriding, Abstract Classes, Implementing Interfaces, Access Protection, Using this, super and final, Object Class, Inner Classes, Anonymous Inner Classes, Method-Local Inner Classes, Static Nested Classes
Module 5: Exception and file handling
Exception and file handling
Handling Exceptions, Propagating and Catching Exceptions, Uncaught Exceptions, Subclassing Exceptions, try, catch, throw, throws, finally
Creating a Thread, Suspending, Resuming and Stopping Threads, Serial and Parallel Sorts in Java
Module 6: String & File I/O
String, File I/O
String, StringBuilder, StringBuffer, StringTokenizer, File Navigation and I/O (java.io), Numbers, Calendar, Locale, Scanner, ResourceBundle and Currency, Parsing, Tokenizing, Formatting, Collection Interfaces, Collection Classes, Iterators, Comparators, Generic and Non-Generic Collections, Primitive Wrappers, Comparable Interface, Math, ClassLoader, System, Process, Runtime
LocalDate, LocalTime,LocalDateTime, Instant, Duration, Period, TemporalAdjusters
Module 7: JDBC, Connection, Collection, & Lambda expressions
JDBC
Create Connection, Query, Update
Lambda expressions (with Single parameter, multiple parameters, return type, collections, forEach, Multiple statements, without return type), Reference to a static method, Reference to an instance method, Reference to a constructor, Usage of Functional interfaces and default methods
Java Stream vs. Collection, Different ways to create streams(Stream.of(), List.stream(), Stream.generate() or Stream.iterate(),String chars or String tokens),Convert streams to collections
Module 8: Servlet and JSP
Servlet and JSP
3(Three layers architecture)
Servlet and JSP introduction
Introduction to Servers (Tomcat)
Servlet, JSP, JSTL
servlet life cycle, handle form data, use different scoping, handle sessions
explain JSP directives, implicit objects, scopes
Module 9: Spring core and Spring MVC
Spring core and Spring MVC
Setter Injection
Constructor Injection
Autowiring
Injecting Collections
Inner Beans
Inheritance, Interfaces, Scope
Aspect Oriented Programming (AOP) using Spring AOP and AspectJ
Property Placeholder Configurer, Resource Bundle Message Source
Spring MVC, Form tag library, validation
Module 10: Spring boot , Spring data jpa
Spring boot , Spring data jpa
Spring initializr, https://start.spring.io, @SpringBootApplication, SpringApplication.run()
JPA (Java Persistence API), JPA is a specification (JSR 338), JPA does not have implementation, Hibernate is one of the implementation for JPA, Hibernate is a ORM tool, Spring Data JPA is an abstraction above Hibernate to remove boiler plate code when persisting data using Hibernate
Spring Boot CLI and Initializing a Spring Boot Project – Working with Spring Boot Starters
Overriding auto-configured beans
“Reducing code with custom auto configurations – @EnableAutoConfiguration – writing own custom auto configuration”
Configuring with external properties
Customizing Error Pages
Spring Boot Dependency Management
Module 11: Spring security, Restful web services
Spring security ,Restful web services
The need to transfer data between heterogenous systems, disadvantages of SOAP, REST stands for REpresentational State Transfer, lightweight, maintainable, scalable, underlying protocol is HTTP; composed of resources, verbs, header, body, response status code, client-server technology
DispatcherServlet, @RestController, @GetMapping, invoking get request from browser, invoking get request from postman, bean transformation to JSON, APIs for bean to JSON and vice versa, Jersey, Jackson, get method with parameter, return array, @PathVariable
HTTP method types (GET, POST, PUT, DELETE), REST service URL naming guidelines, @RequestMapping, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, setting POST request payload and invoking the REST service in Postman and curl, JSON to bean mapping, @RequestBody, validating input request using javax.validation and hibernate validators, @Size, @NotNull, @NotBlank, @Min, @Max, @JsonFormat, @Valid, global exception handling, handle number formatting errors, HTTP Caching
Retrieving LIST in REST, Writing a RESTful Web Services with JSON
Steps Involved in User Authentication
Auth Server, Resource Server, JWT tokens
Configuring Libraries in Maven
Create Oauth Config Class to define secret keys, public private keys , token validity and scopes
Write a Spring Boot RESt application, use Auth and Resource Servers
Try triggering REST requests with and without valid tokens and checking response
Module 12: Microservices Architect and Design
Microservices
Spring RESTful Web Services, server.port definition
Microservices architecture
Domain driven design, bounded context, entities, value objects, aggregate root rule, service integration of monolithic applications
Need for Microservices, components – Load balancing, Circuit breaker, Scaling, independent deployment; What is the difference between Monolithic service and Microservice? What is the advantage of Microservice – Logical grouping of application functionality into Services, Less dependency on functionality development and deployment, Availability of Load balancing and hence improvement in Scalability
Distributed/versioned configuration
Service registration and discovery
Routing
Service-to-service calls
Load balancing
Circuit Breakers
Distributed messaging
Using the above concepts: 1. Decompose the monolith application built earlier into microservices. 2. Write the microservices using Spring Boot. Expose each as a REST service. 3. Demonstrate features of spring cloud like API Gateway, Load balancer, Circuit breaker, Service discovery for microservices used to address the challenges of a distributed architecture. 4. Securing Microservices with Security.
About This Course:
- Instructor Lead Online Training
- Certificate of Completion
- Resume Preparation
- Interview Preparation
- Mock Interview
- Client Interview
- Project Support