spring core training Course Content
Introduction to Spring
- XML configuration & the Spring application context
- Best practices: constructor versus setter injection
- Working with the multiple configuration files
- Bean scope & 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 & component scanning
- Component scanning: how to do it right
- XML versus annotations: when to use what
- Life cycle annotations: @PostConstruct & @PreDestroy
- Stereotypes & meta-annotations
Java Based Dependency Injection
- @Configuration & @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 b/w XML, annotations & Java configuration?
- What happens during bean post processing
- Use & destruction phases
Testing a Spring Based Application
- Spring & test-driven development
- @ContextConfiguration & @RunWith annotations
- Application context caching & the @DirtiesContext annotation
- Environment abstraction & bean definition profiles
Aspect-Oriented Programming
- What problems does AOP solve?
- Differences b/w Spring AOP and AspectJ
- Defining point cut expressions
- Implementing an advice: @Around, @Before, @After & so on
Data Access & JDBC with Spring
- How Spring integrates with existing data access technologies
- Data Access Exception hierarchy
- Implementing caching using @Cacheable
- jdbc namespace & the Spring JdbcTemplate
Database Transactions with Spring
- @Transactional annotation
- Transactions configuration: XML versus annotations
- Isolation levels, transaction propagation & rollback rules
- Transactions & integration testing
- Should you use read-only transactions?
Integrating Spring with JPA & Hibernate
- Quick introduction to ORM with JPA
- Benefits of using Spring with JPA
- JPA configuration in Spring
- Persistence Exception versus the Spring Data Access Exception
Spring in a Web Application
- Configuring Spring in a Web application
- namespace
- Introduction to Spring MVC
- Using @Controller & @Request Mapping annotations
Spring Security
- What problems does Spring Security solve?
- Configuring authentication & intercepting URLs
- Spring Security tag library for JSPs
- Security at the method level
- Customizing the Spring Security filter chain
Advanced Topics
- Remoting: Using the Spring remoting & the Spring HttpInvoker for remote access
- JMS: Sending & receiving messages using the JmsTemplate
- JMX: Configuring Spring to export automatically MBeans & exporting a Spring bean as an MBean