Core Spring4.0 Online Training

Core Spring4.0 Course Content

Introduction to Spring
  • XML configuration and the Spring application context
  • Best practices: constructor versus setter injection
  • Working with multiple configuration files
  • Bean scope and factory beans
Advanced XML Dependency Injection
  • Most popular namespaces
  • Best practices when working with namespaces
  • Externalizing constant values into properties files
  • Working with a high number of configuration files
  • Bean definition inheritance
Annotation-Based Dependency Injection
  • Autowiring and component scanning
  • Component scanning: how to do it right
  • XML versus annotations: when to use what
  • Life cycle annotations: PostConstruct and @PreDestroy
  • Stereotypes and meta-annotations
Java-Based Dependency Injection
  • Configuration and @Bean annotations
  • Where is the magic? Inheritance-based proxies
  • Equivalent to XML namespaces: Enable annotations
  • When to use Java configuration
Bean Life Cycle: How Does Spring Work Internally?
  • The init phase: available interceptors
  • The init phase: what is the difference between XML, annotations, and Java configuration?
  • What happens during bean post processing
  • Use and destruction phases
Testing a Spring-Based Application
  • Spring and test-driven development
  • ContextConfiguration and RunWith annotations
  • Application context caching and the DirtiesContext annotation
  • Environment abstraction and bean definition profiles
Aspect-Oriented Programming
  • What problems does AOP solve?
  • Differences between Spring AOP and AspectJ
  • Defining pointcut expressions
  • Implementing an advice: Around, @Before, @After, and so on
Data Access and JDBC with Spring
  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • Implementing caching using Cacheable
  • jdbc namespace and the Spring JdbcTemplate
Database Transactions with Spring
  • @Transactional annotation
  • Transactions configuration: XML versus annotations
  • Isolation levels, transaction propagation, and rollback rules
  • Transactions and integration testing
  • Should you use read-only transactions?
Integrating Spring with JPA and Hibernate
  • Quick introduction to ORM with JPA
  • Benefits of using Spring with JPA
  • JPA configuration in Spring
  • PersistenceException versus the Spring DataAccessException
Spring in a Web Application
  • Configuring Spring in a Web application (using Spring MVC, Struts, JSF, and so on)
  • namespace
  • Introduction to Spring MVC
  • Using Controller and @RequestMapping annotations
Spring Security
  • What problems does Spring Security solve?
  • Configuring authentication and intercepting URLs
  • Spring Security tag library for JSPs
  • Security at the method level
  • Customizing the Spring Security filter chain
Advanced Topics
  • Remoting: Using Spring remoting and the Spring HttpInvoker for remote access
  • JMS: Sending and receiving messages using the JmsTemplate
  • JMX: Configuring Spring to export automatically MBeans and exporting a Spring bean as an MBean