Spring

 

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications – on any kind of deployment platform. A key element of spring is infrastructural support at the application level: Spring focuses on the “plumbing” of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. Spring is modular in design, allowing for incremental adoption of individual parts such as the core container or the JDBC support. While all spring services are a perfect fit for the spring core container, many services can also be used in a programmatic fashion outside of the container.

  • Course Level:Advanced
  • Prerequisites:Java,J2EE
  • Duration:65Hrs

Spring Course Syllabus

    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
Download Complete syllabus
Spring based web application developer/Business application developer
Related Courses