Java Programming Basic and Advanced with Spring Boot

Inquire now

Duration  13 days – 91 hrs

 

Overview

 

This Java Programming Basic and Advanced with Spring Boot Training is designed to equip participants with a solid foundation in Java programming, followed by advanced concepts and practical implementation using the Spring Boot framework. The course ensures participants are proficient in both basic and advanced Java development and capable of building robust web applications with Spring Boot.

 

Objectives

 

  • Develop a strong foundational understanding of Java programming concepts, syntax, and data types.
  • Master the principles of Object-Oriented Programming (OOP) with a focus on classes, objects, inheritance, polymorphism, encapsulation, and abstraction.
  • Explore advanced Java concepts, including exception handling, file handling, and in-depth knowledge of the Collections Framework and Generics.
  • Gain an overview of the Spring Framework, understanding Dependency Injection and Inversion of Control (IoC).
  • Acquire proficiency in building simple Spring Boot applications, learning the essentials of Spring Boot architecture.
  • Learn to build RESTful APIs and handle web requests and responses using Spring Boot.
  • Integrate Spring Boot applications with databases, utilizing JPA and Hibernate for efficient data access.
  • Explore advanced Spring Boot topics, including security implementation, unit testing, integration testing, and deploying Spring Boot applications.
  • Apply learned concepts through regular quizzes, practical exercises, and a final project development.
  • Receive a Certificate of Completion, validating proficiency in Java programming and advanced Spring Boot development.

 

Audience

 

  • Java Beginners: Individuals with little or no prior experience in Java programming, aiming to establish a strong foundation and advance their skills.
  • Programming Enthusiasts: Individuals with a passion for programming and a desire to learn Java as their first programming language.
  • Web Developers Transitioning to Java: Developers with experience in web development looking to transition their skills to Java programming and extend their knowledge to Spring Boot for web application development.
  • Java Developers Seeking Advanced Skills: Java developers seeking to deepen their understanding of advanced Java concepts and enhance their skills with the Spring Boot framework.
  • Computer Science and Engineering Students: Students pursuing a degree in computer science or engineering looking to supplement their academic learning with practical Java and Spring Boot experience.
  • Technology Enthusiasts and Career Switchers: Technology enthusiasts and individuals considering a career switch to programming or application development.
  • Software Engineers and IT Professionals: Software engineers and IT professionals aiming to broaden their skill set with comprehensive Java programming and Spring Boot expertise.
  • Front-End Developers: Front-end developers interested in becoming full-stack developers and incorporating Java and Spring Boot into their skill set.
  • Project Managers and Tech Leads: Project managers and tech leads overseeing Java-based projects who wish to enhance their technical understanding for effective project management.
  • Start-up Entrepreneurs: Entrepreneurs and founders of start-ups interested in understanding and actively contributing to the Java and Spring Boot development process.
  • Freelancers and Independent Developers: Freelancers and independent developers looking to expand their service offerings by adding Java and Spring Boot to their skill set.

 

Pre- requisites

  • Participants should have a foundational understanding of programming concepts, including variables, loops, and conditional statements.
  • A basic understanding of mathematical concepts, such as arithmetic operations and logic, will be beneficial.
  • Familiarity with using text editors or integrated development environments (IDEs) for coding, such as Visual Studio Code or Eclipse.
  • While not mandatory, having a background or coursework in computer science fundamentals can enhance the learning experience.
  • A strong interest and motivation to learn Java programming and Spring Boot development, coupled with enthusiasm for building web applications.

 

Course Content

 

Java Fundamentals

 

  • History of Java language
  • Java Coding Standards 
  • Primitive data types, identifiers, variable declaration, and scoping
  • Java methods and functions
  • Class and its 2 access and 3 non-access modifiers
  • Class members’ 4 access and 8 non-access modifiers
  • Objects and reference variables
  • Arrays
  • Record
  • Using the var
  • Program constructs
  • Parameter Passing, arguments and var-arg List

 

Java Core Advanced 

  • Built-in API classes
      • The java.lang package
      • The java.util package
      • The java.math package
      • The java.text package
      • The java.time package
      • The java.io package
      • The Pattern Matching library
  • OOP Principles
    • UML 2.x Designing
    • Java Beans and Properties
    • Sealed, non-sealed, and terminal super classes
    • Strict and non-strict polymorphism
  • Exception handling
  • Generic classes
  • Collection Framework
    • Typical collections
      • List
      • Set
      • Map
      • Queue
    • Frozen collections
    • Concurrent collections
  • The Object class
  • Inner classes
  • Threads and processes
    • Introduction to concurrent transactions
    • Virtual threads
    • The Executor Framework
    • The Callables
  • The NIO 2.0 transactions
  • Stream API classes

 

Spring 6.x Framework Development

 

  • Creating Spring 6.x Framework projects
  • Installation and configuration
  • Creating the project
    • Using Spring Initializr 
    • Using Maven project
    • Using JakartaEE web project
  • Knowing the Spring Projects
  • Understanding the history of Spring
    • Spring 3.x Framework 
    • Spring 4.x Framework
    • Spring 5.x Framework
    • Spring 6.x Framework
  • Understanding the Spring Bean layer 
    • Creating the beans
    • The Inverse of Control (IoC) design pattern
    • The Dependency Injection (DI) design pattern
  • Understanding the Spring Context
    • Creating the ApplicationContext
    • Managing context files
  • Lifecycle of Spring beans
  • Spring Expressions

 

  • The JavaConfig specification
  • Understanding the JavaConfig specifications
  • Annotations under the JavaConfig definitions
    • The @Configuration
    • The @Bean
    • The @Autowired
    • The @Qualifier
  • Creating beans using @Component
  • Building events and listeners

 

  • The Spring Web module
  • Understanding the MVC components
  • Understanding the JakartaEE’s servlet container
  • Building the Spring container through the DispatcherServlet
  • Implementing the @Controller
  • Implementing the request handlers
    • Applying the @RequestMapping
    • Using the @ResponseBody
    • Applying the HttpServletRequest and HttpServletResponse
  • Creating dynamic URLs through @PathVariable
  • Passing and managing @RequestParam

 

  • Managing the views
  • Understanding the view resolvers
    • InternalResourceViewResolver
    • BeanNameViewResolver
    • UrlBasedViewResolver
    • ContentNegotiatingViewResolver
    • FreeMarkerViewResolver
  • Knowing the different view engines
    • JSP-JSTL
    • Thymeleaf
    • Freemarker
    • Velocity
    • Mustache
    • Groovy
  • Integrating multiple view engines in one application
  • Rendering views using the controller
  • Handling form data
  • Using the form backing objects

 

  • Handling request attributes
    • Using the Model class
    • Using the ModelMap class
    • Using the ModelAndView class
    • Using the @RequestAttribute 
    • Using the @SessionAttributes

 

  • The Spring data transactions
    • Applying the Spring-JDBC module
      • Using the JdbcTemplate
      • Understand the transaction manager
    • Building the model layer
    • Building the @Respository layer
    • Creating the @Service layer
    • Rendering views using the controller
    • Project Lombok

 

  • Integrating ORM frameworks
    • Understanding ORM frameworks
    • Using the Hibernate 6.x ORM
      • The SessionFactory
      • The Hibernate transaction manager
    • Applying the JPA specification
    • Creating the model and repository layer

 

  • Managing exceptions
    • Applying the @ExceptionHandler
    • Using the @ControllerAdvice
    • Using the ExceptionResolver variants

 

  • Integrating Spring Security project
    • Installing the DelegatingFilterProxy filter
    • Implementing the Security definition class
    • Creating the login and logout forms
    • Applying method security
    • Managing sessions

 

  • Integrating Spring Test module
    • Spring and test-driven development
    • Introduction to Mock testing
    • How to use Mockito testing tool in Spring 
    • How manage spring test annotations

 

  • Using the Spring Boot 3.x platform
    • Applying the Spring 6.x framework
    • Setting up the Maven and Gradle configuration
    • Building the MVC project
    • Compiling and running the MVC project
Inquire now

Best selling courses

BUSINESS / FINANCE / BLOCKCHAIN / FINTECH

Establishing Effective Metrics

PROJECT MANAGEMENT / AGILE & SCRUM

Agile Program Management

CYBER SECURITY

Secure coding in PHP

This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.