In our Core Spring course, participants will learn how to use the key parts of Spring to build a working Java application. The course goes beyond basic Dependency Injection (DI) and Inversion of Control (IOC) to teach students Spring Model-View-Controller (MVC), Spring Aspect Oriented Programming (AOP) and how to work with data structures using JDBC, Hibernate and JPA.
Course Duration: 5 days
Prerequisites:
Solid understanding of Java programming and web applications is strongly recommended.
Course Objectives:
- Gain an overview of the key parts of the Spring Framework
- Learn Inversion of Control and Dependency Injection
- Practice working in Spring and building a Spring Web Application
- Code using Spring Annotations and Aspect Oriented Programming
- Acquire working knowledge of data structures in Spring
- Gain an overview of the key parts of the Spring Framework
- Learn Inversion of Control and Dependency Injection
- Practice working in Spring and building a Spring Web Application
- Code using Spring Annotations and Aspect Oriented Programming
- Acquire working knowledge of data structures in Spring
Course Outline:
- Spring Introduction
- Inversion of Control and Dependency Injection
- BeanFactory
- Getting Started with Spring Dependency Injection and XML meta-data
- Setter Injection
- Dependency Injection
- ApplicationContext
- Converters
- Constructor Injection
- Factory Methods
- Configuring Collections/ util namespace
- Bean definition Inheritance
- Collection Merging
- Externalize the configuration
- SPEL – Spring Expression Language
- Control the order of bean instantiation
- P namespace and C namespace
- Spring Container and API
- Bean Lifecycle
- Bean Post Processors
- JSR 250 Annotations
- Events
- MessageSources and Internationalization
- Autowiring
- Other Meta Data Configurations
- Annotations @Required, @Autowired, @Resource, @Scope, @Qualifier
- @Component and Component Filters
- @Value and SPEL
- Java Configuration
- AnnotationConfigApplicationContext
- @Component, @Bean
- Using @Autowired and Component with AnnotationConfigApplicationContext
- Spring and JDBC
- Legacy JDBC
- Template Patterns
- Connection Pooling
- JdbcTemplate and JdbcDaoSupport
- RowMappers
- NamedParameterJdbcTemplate
- ParameterizedBeanPropertyRowMapper
- MappingSqlQuery
Persistence Frameworks
- Hibernate
- HibernateTemplate/HibernateDaoSupport
- Hibernate Query Language
- JPA
- Entities
- JpaTemplate/JpaDaoSupport
- Injecting the EntityManager @PersistenceContext and @PersistenceUnit
- JPA Queries and Named queries
- Spring OPA
- Spring Data MongoDB
- NoSQL and BSON
- MongoDB
- MongoTemplate
- Inserts, Updates and Retreival
- Managing Collections
Proxies and the Dynamic Proxy Pattern
- Cross Cutting Concerns AspectJ Annotation Configuration
- Aspects/ JoinPoints/ Advice and PointCuts
- AspectJ Annotations autoproxy
- Define Pointcuts and Advice
- @Before, @After, @AfterReturning, @AfterThrowing
- Pointcut Expressions
- @Around and accessing arguments
- Spring AOP XML Configuration
- Defining Advices and Aspects aop-config
- AspectJ
- Spring Transactions
- @Transactional, transaction propagation
- Declarative Rollback
- XML Configuration
- Spring and the Web
- WebApplicaiotnContext
- ContextLoaderListener
- Spring MVC
- Model View Controller
- DispactherServlet Configuration
- Controllers, RequestMapping
- Working with Forms
- Getting at the Request, @RequestParam, @RequestHeader, @CookieValue
- @ResponseBody
- ModelAndView
- Spring form tags and Model Binding, @ModelAttribute
- Chain View Resolvers
- Spring Introduction
- Inversion of Control and Dependency Injection
- BeanFactory
- Getting Started with Spring Dependency Injection and XML meta-data
- Setter Injection
- Dependency Injection
- ApplicationContext
- Converters
- Constructor Injection
- Factory Methods
- Configuring Collections/ util namespace
- Bean definition Inheritance
- Collection Merging
- Externalize the configuration
- SPEL – Spring Expression Language
- Control the order of bean instantiation
- P namespace and C namespace
- Spring Container and API
- Bean Lifecycle
- Bean Post Processors
- JSR 250 Annotations
- Events
- MessageSources and Internationalization
- Autowiring
- Other Meta Data Configurations
- Annotations @Required, @Autowired, @Resource, @Scope, @Qualifier
- @Component and Component Filters
- @Value and SPEL
- Java Configuration
- AnnotationConfigApplicationContext
- @Component, @Bean
- Using @Autowired and Component with AnnotationConfigApplicationContext
- Spring and JDBC
- Legacy JDBC
- Template Patterns
- Connection Pooling
- JdbcTemplate and JdbcDaoSupport
- RowMappers
- NamedParameterJdbcTemplate
- ParameterizedBeanPropertyRowMapper
- MappingSqlQuery
Persistence Frameworks
- Hibernate
- HibernateTemplate/HibernateDaoSupport
- Hibernate Query Language
- JPA
- Entities
- JpaTemplate/JpaDaoSupport
- Injecting the EntityManager @PersistenceContext and @PersistenceUnit
- JPA Queries and Named queries
- Spring OPA
- Spring Data MongoDB
- NoSQL and BSON
- MongoDB
- MongoTemplate
- Inserts, Updates and Retreival
- Managing Collections
Proxies and the Dynamic Proxy Pattern
- Cross Cutting Concerns AspectJ Annotation Configuration
- Aspects/ JoinPoints/ Advice and PointCuts
- AspectJ Annotations autoproxy
- Define Pointcuts and Advice
- @Before, @After, @AfterReturning, @AfterThrowing
- Pointcut Expressions
- @Around and accessing arguments
- Spring AOP XML Configuration
- Defining Advices and Aspects aop-config
- AspectJ
- Spring Transactions
- @Transactional, transaction propagation
- Declarative Rollback
- XML Configuration
- Spring and the Web
- WebApplicaiotnContext
- ContextLoaderListener
- Spring MVC
- Model View Controller
- DispactherServlet Configuration
- Controllers, RequestMapping
- Working with Forms
- Getting at the Request, @RequestParam, @RequestHeader, @CookieValue
- @ResponseBody
- ModelAndView
- Spring form tags and Model Binding, @ModelAttribute
- Chain View Resolvers