Spring Core

Course Number:

N/A

Audience:

Course Duration:
5 days

Prerequisites:

Students are expected to have a reasonable command of the Java Language. All attendees must have at least one year of full-time Java and JSP development experience. Prior experience with servlets and JSP is recommended but not required.

Course Objectives:
Course Outline:
  • Spring Introduction
    • Shortcomings of Java EE and the Need for Loose Coupling
    • Managing Beans, The Spring Container, Inversion of Control
    • The Factory Pattern
    • Configuration Metadata – XML, @Component, Auto-Detecting Beans
    • Dependencies and Dependency Injection (DI) with the BeanFactory
    • Setter Injection
  • Dependency Injection
    • Using the Application Context
    • Constructor Injection
    • PropertyEditors
    • Factory Methods
    • Crucial Namespaces ‘p’ and ’c’
    • Configuring Collections
    • Bean Definition Inheritance and Collection Merging
    • Expression Languages, SpEL
  • The Spring Container and API
    • The Spring Managed Bean Lifecycle
    • Key interfaces, Annotations and BeanPostprocessors
    • Event Handling and Listeners
    • Message Sources and Internationalization
    • Autowiring Dependencies
  • Other Metadata Configurations
    • Annotation Configuration @Autowired, @Required, @Resource
    • @Component, Component Scans. Component Filters
    • @Value and @Qualifier
    • Life Cycle Annotations
    • Java Configuration, @Configuration, XML free configuration (Optional)
    • The AnnotationConfigApplicationContext
  • Spring 4 Specifics
    • Groovy Bean Definition DSL
    • Generic Qualifiers for Bean Injection
    • Using CGLib Proxy classes with the objenesis library
    • Using @Conditional and @Lazy
    • Java 8 feature support
  • Spring and Persistence
    • Spring and JDBC
    • JdbcTemplate/JdbcDaoSupport
    • Spring and Hibernate
    • HibernateTemplate/HibernateDaoSupport
    • Spring and JPA
    • JpaTemplate/ JpaDaoSupport
    • Direct access to JPA via @PersistenceUnit and @PersistenceContext
    • CRUD methods
  • Spring AOP
    • PointCuts, JoinPoints, Aspects, Adices
    • Before, After, AfterReturning, AfterThrowing, Around
    • Annotation Configuration
    • XML Configuration
  • Transaction Management
    • Transaction Propagation
    • Declarative Transaction Management: @Transactional
    • Annotation Configuration, Rollback Rules, Isolation
    • Advisors
    • XML Configuration
  • Develop Web Applications using the Spring Framework – Spring MVC
    • The WebApplicationContext and the ContextLoaderListener
    • Model View Controller
    • Front Controller Pattern
    • DispatcherServlet Configuration
    • Controllers, RequestMapping
    • Working with Forms
    • Getting at the Request, @RequestParam, @RequestHeader, @CookieValue
    • ModelAndView
    • Using the POST Redirect GET pattern with FlashAttributes
    • Advanced techniques
    • Spring form tags and Model Binding, @ModelAttribute
    • Chain multiple View Resolvers
    • Handler Interceptors
    • Data Validation JSR303
  • Spring Controllers and Ajax
    • JavaScript(JQuery) access to Controllers (brief selector overview)
    • URITemplates
    • Using @ResponseBody
    • JSON and XML data exchange
    • HTTP GETS and POSTS
  • RESTful Web Services
    • Core REST concepts
    • REST support in Spring 4.x
    • Use Spring MVC to create RESTful Web services
    • REST specific Annotations in Spring
    • URITemplates, @PathVariable, @RequestParam
    • JSON and XML data exchange
    • @RequestMapping
    • Contract Negotiation (CONNEG)
    • Client access with HttpClient or RestTemplate

Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!