Enterprise Java with Spring provides developers with practical skills for building scalable and maintainable enterprise applications using the Spring Framework. Participants will learn core Spring concepts such as Inversion of Control (IoC), Dependency Injection (DI), Spring MVC, Spring JDBC, Spring Data JPA, transaction management, testing, and Spring Boot through hands-on development exercises.
Duration: 3 days – 21 hrs.
Overview
Developing robust Java enterprise applications is a complex process often requiring extensive infrastructure code. In this course, Java developers learn how to quickly build enterprise Java applications using the industry-standard Spring framework. Through intensive hands-on exercises, you learn how to implement high-performance applications while reducing development time. The instructor brings with him a wealth of corporate and training experience on disciplines of enterprise Java development. A Spring Source Certified Professional, his passion is to help individuals maximize their potential as Java developers. He continues to receive encores in his training programs as he inspires learning and application in various areas of Java technology.
Learning Objectives
- Develop scalable enterprise Java applications using Spring
- Build application infrastructure using Inversion of Control (IoC) and Dependency Injection (DI)
- Perform unit testing using jUnit, integration testing using mocks and Spring’s test support classes
- Add a flexible application user interface with Spring Model View Controller (MVC)
- Segregate beans to use for different environments using Spring Profiles
- Use Spring JDBC to simplify database access and Spring Data JPA
- Be more productive in Spring development using Spring Source Tool Suite Eclipse IDE
Audience
- Java Developers: Professionals who want to strengthen their Java development skills and build enterprise applications using the Spring Framework.
- Software Engineers: Engineers involved in developing scalable and maintainable Java applications who want practical experience with Spring technologies.
- Enterprise Application Developers: Developers responsible for designing and implementing business-critical Java applications using modern enterprise development practices.
- Software Architects: Architects who want to understand Spring’s architecture, dependency injection, application configuration, and enterprise application design.
- Backend Developers: Developers looking to enhance their backend development skills using Spring, Spring MVC, Spring Boot, and Spring Data JPA.
- IT Professionals: IT professionals involved in Java-based application development who want to expand their knowledge of enterprise Java technologies.
- Technical Leads and Team Leads: Professionals responsible for guiding Java development teams and making technical decisions involving Spring-based applications.
- Project Managers: Managers overseeing Java and Spring development projects who want to gain a stronger understanding of the technologies used by their development teams.
Pre- requisites
- Those involved in the development of complex enterprise-level Java applications.
- Knowledge of Java Programming and real-world Java programming experience, is assumed.
Course Content
Introduction to Spring
- The Spring Framework
- How the Spring Container Works
- Spring Modules
- Setting Up a Spring Development Environment
- Using Spring Boot
Bean Configuration via XML
- Creating the Bean Configuration File
- Declaring a Bean
- Interjecting Dependencies
- Property Editors
- Creating the ApplicationContext
- Autowiring Beans
- Component Scanning
- Inheriting Bean Definitions
- Bean Scopes
Bean Configurations via Annotations
- Creating the Configuration Class
- Declaring a Bean
- Interjecting Dependencies
- Creating the ApplicationContext
- Component Scanning
- Autowiring Beans
- Bean Scopes
Spring Testing Support
- Unit Testing
- JUnit 4 Annotations
- Assertions
- Using Spring Testing Support
- Running Spring Boot Tests
- Mocks
- Using Mockito
Spring JDBC
- Problems with JDBC
- Using JdbcTemplate
- Handling Exceptions
- Running Database Unit Tests
Transaction Management
- Understanding Transactions
- Understanding Transaction Management with JDBC
- Managing Transactions in Spring
- Specifying Propagation Behavior
- Using @Transactional in Unit Tests
Spring Profiles
- Introducing Spring Profiles
- Specifying the Active Profile
- Creating Profile-Specific application. Properties
- Using Spring Profiles
- Creating Spring Profile-Specific Beans
- Specifying Default Beans
- Using Property Files
Spring MVC
- The MVC Design Pattern
- Setting Up a Spring MVC Application
- Spring MVC Components
- Mapping URLs to Controllers
- Getting Request Parameters
- Getting Path Variables
- Passing Data from Controller to View
- Redirecting
- Resolving View Names
- Quickstart to Spring MVC
Spring Data JPA
- Introducing JPA
- Setting Up Spring Data JPA
- Initializing Data
- Creating Spring Data Repositories
- Creating Custom Repository Methods

