bandb

Java Developement

Courses > Java developement

Features of Our Courses

What characterizes Java Development

Java stands out as a multi-platform, object-oriented programming language with a focus on networking. Over the past two decades, it has remained a preferred choice among developers for crafting web applications, evident from the multitude of Java applications in circulation today. Why the widespread popularity? Java’s popularity stems from its attributes of speed, security, and reliability, making it suitable for diverse applications ranging from mobile apps and enterprise software to big data and server-side technology. Its versatility and demand across various industries position Java developers as some of the highest-paid specialists in the IT sector.

Objectives

  • Elucidate how Hibernate resolves challenges pertaining to object persistence within a relational model.
  • Comprehend the interconnections among SQL, Java, Spring, and Hibernate.
  • Delve into the obstacles encountered when incorporating Hibernate into enterprise systems.
  • Develop applications leveraging the capabilities of the Hibernate Persistence Manager.
  • Translate Java classes into relational tables.
  • Capture both relational and inheritance associations through metadata using XML or Java 5 Annotations.
  • Establish and apply mappings between Java classes and relational databases.
  • Grasp the handling of identity and keys within Hibernate.
  • Understand the lifecycle of persistent objects and its correlation with transactions and concurrency.
  • Utilize Hibernate’s data filtering and interception functionalities.
  • Examine the challenges associated with complex frameworks like Java EE and how Spring tackles these issues.
  • Create applications leveraging the Spring container and its ability to assemble simple components declaratively into applications.
  • Employ Spring’s transaction support.
  • Learn to integrate Hibernate within the Spring framework.

Pre-requisite / Target Audience:

       Individuals aiming to learn the Spring Framework should possess fundamental understanding of Java and databases, including:

  • Core Java knowledge.
  • Familiarity with databases.
  • Basic comprehension of web application development.

Module 1: Spring Basics

This module is the core of the Spring Framework. It provides implementation for features like IoC (Inversion of Control) and Dependency Injection with a singleton design pattern. Inversion of Control (IoC) refers to a programming principle where the control of object creation and management is transferred to a framework rather than being handled manually in the code. Dependency Injection (DI) is a technique used to achieve IoC, allowing the injection of dependencies into objects, simplifying testing and enhancing code flexibility.

  • What is Spring Framework
  • Inversion of Control
  • Dependency Injection
  • Bean Factory
  • Developing First Spring Application

Module 2: Built-in Bean Factories

This module provides implementation for the factory design pattern through BeanFactory, and we will learnimplementation of ApplicationConext.

  • Application Context
  • Wiring Beans
  • Bean Lifecycle in Container
  • Spring Events

Module 3: Spring AOP

In this module we will learn by separating application business logic from system services, Spring Framework supports Aspect Oriented Programming and enables cohesive development.

  • Introduction to AOP
  • Role of AOP in Spring
  • AOP Advice
  • AOP Pointcuts
  • Spring AOP Introductions
  • ProxyFactoryBean

Module 4: Spring Data Access

This module provides JDBC abstraction layer which eliminates the need of repetitive and unnecessaryexception handling code.

  • JDBC Abstraction Layer
  • Data Access Exceptions
  • DAO Support

Module 5: Spring O-R Mapping

ORM stands for Object Relational Mapping. This module ensures consistency and portability of code regardless of data access technologies, based on the object-oriented mapping concept. For example, Hibernate allows developers to map Java objects to relational database tables seamlessly, enabling them to write database-independent code while focusing on business logic rather than SQL intricacies.

  • What is O-R Mapping
  • O-R Mapping support in Spring
  • Hibernate Support / Mapping

Module 6: Spring Transaction Management

This module supports programmatic and declarative transaction management for classes that implement special interfaces and for all your POJOs. All the enterprise level transaction implementation concepts can be implemented in Spring by using this module.

  • Transaction Abstraction in Spring
  • Transaction Strategies
  • Programmatic Transaction
  • Declarative Transaction

Module 7: Spring Remoting and Enterprise Services

In this module we will learn how spring Remoting will be implemented by following RMI and various remotingtechnique.

  • Introduction to Spring Remoting
  • Java RMI in Spring
  • Accessing JNDI
  • Invoking EJB from Spring
  • Web Service in Spring using JAX-RPC Support
  • Messaging Support in Spring using JMS
  • Sending Mail with Spring Mail
  • Scheduling using Timer Support

Module8: Spring Web MVC Framework

This module contains Model-View-Controller (MVC)-based implementations for web applications, including UI tags and data validations.

  • Role of DispatcherServlet
  • Web MVC Architecture
  • Controller
  • Handler
  • View Resolving
  • Data Binding
  • File Upload Support

Module 9: Securing Spring Applications

In this module we will learn how spring security will be implemented by HTTP basic authentication and following concept.

  • Acegi Security System for Spring
  • Authentication
  • Access Control
  • Web Application Security
  • Method Invocation Security

Module 10: Spring Boot

This module explains how Spring Boot simplifies creating stand-alone, precompiled Spring-based applications.

  • Introduction to Spring boot
  • Installation of STS in eclipse
  • Using Spring STS IDE
  • Using Spring Initializer Website
  • Hello World example using spring boot
  • Java-Based Applications

Relational Persistence UsingHibernate

Module 1: Introduction to Hibernate

This module explains how the Hibernate framework simplifies Java application development for database interaction. Hibernate is an open-source, lightweight ORM (Object Relational Mapping) tool. Compared to other ORM tools like EclipseLink or JPA, Hibernate stands out for its robust caching mechanisms, support for lazy initialization, and its flexibility in handling complex database relationships. This makes it a preferred choice for developers building scalable and efficient applications.

  • Drawbacks of direct JDBC
  • Plain Old Java Object (POJO)
  • What is O-R Mapping
  • Simple Database Application

Module 2: Hibernate Configuration

Learn to configure Hibernate and add various jar files by creating user-defined libraries.

Module 3: Hibernate Concepts

This module covers configuring primary keys, auto-increment functionality, and CRUD operations using Hibernate.

  • Id and Primary Key
  • Id Generation Methods
  • SessionFactory
  • Session
  • Transaction
  • Developing CRUD Application

Module 4: Hibernate O-R Mapping

Understand the different types of operations concerning database relationships and how they are maintained using OR-Mapping.

  • Mapping Declarations
  •  Modeling Composition with Relationship
  • Modeling Composition with Components
  • One-to-One Association
  • One-to-Many Association
  • Many-to-Many Association
  • Uni and Bidirectional Associations
  • Hibernate Value Types
  • Custom Types

Module 5: Manipulating and Querying

Learn how Hibernate detects changes in objects and synchronizes them with the database upon session closure or flushing.

  • Persistent Objects
  • Object Loading
  • Executing Queries
  • Iterating Results
  • Scalar Results
  • Bind Parameters
  •  Pagination

Module 6: Hibernate Query Language

Explore Hibernate Query Language (HQL), an object-oriented query language akin to SQL.

  •  Select clause
  • From clause
  • Where clause
  • Aggregate functions
  • Expressions
  • Sorting
  • Grouping
  • Sub queries

Module 7: Criteria Queries

Learn to perform restrictions between different classes and explore built-in criterion types.

  • Creating Criteria
  • Narrowing the Result
  • Ordering the Result

Module 8: Native SQL

Understand how to use Session.createSQLQuery to create SQLQuery objects and execute them.

  • Using SQL Query
  • Named SQL Query
  • Using Stored Procedure for Querying
  • Creating Custom SQL for CRUD

Module 9: Transactions and Concurrency

Gain insights into transactions as units of work and their importance in ensuring consistent operations.

  • Session and Transaction Scopes
  • Database Transaction Demarcation
  • Optimistic Concurrency Control
  • Pessimistic Concurrency Control

Real-Time Project

Participants will gain hands-on experience by working on a real-time project that involves most of the above concepts. This practical approach ensures readiness for real-world applications, enabling participants to tackle industry-relevant challenges effectively. The project will include:

  • Product Abstract Document
  • Requirement Specification Document
  • Step-by-Step procedure for building the project from ground up
  • Complete Source Code
  • Database Script with Sample data
  • Instruction for Development and Production Deployment

At the end of the course participants will be able to

  1. Work in spring and hibernate application.
  2. Perform all operations, including transaction management and more.