Description
In this course, you will learn :
- How to Java Configuration and Annotations are used to configure Spring.
- Spring Aspect-Oriented Programming
- How to Data Access in the Spring Spring Data, JDBC, and JPA.
- How to Transaction Management in the Spring.
- Using Spring, create a powerful MVC web application.
- Using Spring MVC to implement REST.
Syllabus :
1. Spring basics
- Spring as a factory of beans
- Singleton, Prototype and Lazy beans
- Setting up H2 database for our application
- Import tables and records to the H2 database
- Setting up Project Lombok in our Eclipse
- Getting the product count from the DB
- Reading from properties file
- Injecting a DB connection pool to the DAO bean
2. Spring's support for JDBC
- The JdbcTemplate class
- Insert, update and delete using JdbcTemplate
- Queries that give one row with one column
- Queries that give one row with multiple columns
- Queries that give multiple rows with multiple columns
- Converting a query result into entity objects
- Adding CRUD and Query operations to the DAO interface
- Creating the JdbcTemplateProductDao class
3. Spring's support for Hibernate
- A quick introduction to Hibernate ORM
- Adding JPA annotations to entity classes
- SessionFactory and HibernateTemplate
- Implementing the HibernateTemplateProductDao class
- Testing our new DAO implementation class
4. Aspect Oriented Programming
- Key concepts of AOP
- Creating a simple method call logger Aspect
- Modifying the method parameters using AOP
- Transforming exceptions using AOP
5. Spring's support for Transaction Management
- Key concepts of Spring's transaction management
- Creating a transaction manager bean
- Managing transactions for HibernateTemplateProductDao
6. Spring's support for Web MVC
- Overview of HTTP client server communication
- Demo of HTTP client server communication
- Overview of MVC
- MVC using servlets and JSP
- Overview of Spring MVC
- Setting up Spring MVC
- Header, footer and main content
- Getting list of all products
- Configuring the view resolver
- Get products by price range
- Details of a selected product
- Spring forms - Add new product
- Radio buttons in product form
- Drop down controls in product form
- Validating datatype mismatch
- Validating custom rules
- Reusing the form for editing a product
- Handling errors in a Spring MVC application
7. Spring's support for RESTful web services
- Overview of REST
- GET many products
- GET one product
- POST a new product
- PUT a modified product
- DELETE an existing product
- Working with XML content