Course code: JSPRING« Back

Spring Framework

The course focuses on Spring Framework - the most popular library for building server applications in Java. Starting from the basic Spring container, the course will guide students through common techniques of accessing the database usign JDBC and JPA, up to more advanced features of the container and Spring MVC web library. Spring Framework also provides comfortable facility for integration tests so student will be lead to utilize it and write tests too.

 DateDurationCourse priceHandbook priceCourse languageLocation 
GTK 10/14/2019 5 41 500 CZK included in course price Český jazyk GOPAS Praha
 
10/14/2019 5 1 675,00 EUR included in course price Slovenský jazyk GOPAS Bratislava
 
1/27/2020 5 41 500 CZK included in course price Český jazyk GOPAS Praha_GTT
 
4/20/2020 5 41 500 CZK included in course price Český jazyk GOPAS Praha_GTT
 
1/27/2020 5 41 500 CZK included in course price Český jazyk GOPAS Brno_GTT
 
4/20/2020 5 41 500 CZK included in course price Český jazyk GOPAS Brno_GTT
 
1/27/2020 5 1 675,00 EUR included in course price Český jazyk GOPAS Bratislava_GTT
 
4/20/2020 5 1 675,00 EUR included in course price Český jazyk GOPAS Bratislava_GTT
 

AffiliateDurationCatalogue priceHandbook priceITB
Praha5 41 500 CZK included in course price 50
Brno5 41 500 CZK included in course price 50
Bratislava5 1 675,00 EUR included in course price 50

Who the course is for

The course is intended for Java developers and architects who know how to assemble simple web applications and want to build more complex Java EE applications on top of Spring Framework.

What we teach you

  • Recognize pros and cons of Spring Framework and EJB, Google Guice and other DI frameworks
  • Improve application manageability using Dependency Inject design pattern and Aspect oriented programming (AOP)
  • Harness XML and annotations (@Autowired, @Service, ...) to define component dependencies
  • Use JDBC Template and JPA Template for database access
  • Control transactions declaratively using @Transactional
  • Integrate Spring to the web application infrastructure using Servlets and/or Spring MVC
  • Utilize Spring Framework support for integration tests

Required skills

It is needed to understand Servlets and JSPs as well as JDBC and preferably JPA as well. Some foundations of SQL, XML, SOAP and other Java EE technologies is beneficial.

Teaching methods

Professional explanation with practical samples and examples.

Teaching materials

Powerpoint handouts.

Course syllabus

Inversion of Control, Dependency injection

  • Container for components (beans)
  • Component references and their definition (Dependency injection)
  • ApplicationContext
  • @Autowired, @Component
  • Spring XML namespaces, NamespaceHandler
  • Component initialization, @PostConstruct
  • ResourceLoader, MessageSource

Database and transactions - JDBC

  • JDBC
    • Plain JDBC (deterrent example)
    • JDBCTemplate, RowMapper, ResultSetExtractor
    • Data Access Object
    • DataAccessException
  • Transactions
    • Principles
    • DataSource proxy
    • Service proxy
    • PlatformTransactionManager
    • JTA
    • Atomikos JTA integration

Database - JPA and Hibernate

  • JPA elements
    • Annotations @Entity, @Id, ...
    • Configuration persistence.xml, orm.xml
    • Java API - EntityManager
    • Entity relationships
    • Lazy loading
  • Application managed EntityManager
  • LocalContainerEntityManagerFactoryBean
  • Container managed EntityManager
    • EJB
    • Spring
  • Transactions
    • JpaTransactionManager
    • JTA
    • Atomikos JTA integration

Spring Framework on Apache Tomcat, Oracle GlassFish, RedHat JBoss/WildFly

  • Root WebApplicationContext and ServletContext
  • JndiObjectFactoryBean
  • DataSource from JNDI registry
  • Java EE server integration
  • JPA provider replacement
  • JTA from the Java EE application server

Integration tests

  • JUnit
  • Spring and its flexibility in bootstraping of the container within a test
  • @ContextConfiguration
  • @TransactionConfiguration and rollback after each test
  • Apache Cactus and heavyweight tests on the real server

AOP and advanced Spring container

  • Factory methods, factory beans
  • Bean scope (singleton, prototype)
  • BeanPostProcessor, BeanFactoryPostProcessor
  • Lazy inicialization
  • AOP concepts
  • Simple aspect
  • Pointcut language and its features
  • Defining advanced aspects

Spring MVC

  • Basic concepts
  • @Controller, @RequestMapping
  • Input form validation (JSR-303 - Bean Validation)
  • View and HTML rendering
  • ViewResolver
  • Spring MVC in practice

Spring MVC - advanced topics

  • Architecture
  • HandlerMapping, HandlerAdapter
  • Internationalization (I18N)
  • File upload

JavaServer Faces

  • ManagedBean
  • Configuration - faces-config.xml
  • View definition - Facelet
  • Request processing phases
  • Components for building web pages
  • Spring Framework integration (EL Resolver)
  • DataTable
  • CRUD and advanced techniques (REST, events)
Tištěné prezentace probírané látky

Price:
included in course price
The prices are without VAT.