In this course, you will learn :
- Spring framework as a factory of beans.
- Dependency injection.
- Inversion of control.
- Different types of components.
- Component scan.
- Manual Vs auto wiring.
- Apache database connection pool.
- Creating DAO layer classes.
- Using Lombok.
- Aspect oriented programming (AOP).
- Transaction management.
- Spring MVC.
- Working with forms in Spring MVC.
- Form validation.
- ReSTful services (API) using Spring framework.
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 Connection to the DAO bean
- Injecting a DB connection pool to the DAO bean
- @Component and @ComponentScan
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