Core Spring Framework

Course Number:

N/A

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.

Audience:

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
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
Share on facebook
Share on twitter
Share on linkedin
Share on email

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!