4 DAY COURSE

SpringSource's Core Spring: Developing with the Spring Framework

Topics covered at SPRING-01-04
View Schedule & Book More dates available

Next up:

Core Spring is the four-day flagship Spring Framework and Spring Boot training. In this course, students build a Spring-powered Java application that demonstrates the Spring Framework and other Spring technologies like Spring Boot, Spring Data, Spring Security and micro-services in an intensely productive, hands-on setting.

Completion of this training entitles you to receive a free voucher to schedule an exam at a Pearson VUE Center to become a Spring Certified Professional.

Learn how to:

Course Objectives

  • Use the Spring Framework to develop Java applications
  • Take the Spring Boot shortcut to productivity.
  • Use dependency injection to set up and configure applications.
  • Test Spring-based applications.
  • Configure Spring applications using Java configuration, annotations, or XML.
  • Use Spring Data JPA and JDBC to rapidly implement relational database access.
  • Use Spring support for transactions.
  • Use aspect-oriented programming (AOP) to declaratively add behavior to applications.
  • Develop a basic Web application with Spring MVC.
  • Use Spring Security to secure Web applications.
  • Use Spring to easily build REST web services.
  • Start the journey to Microservices and Cloud Native Applications

What the community says

"Very knowledgeable teacher. Took his time to answer all questions we had."

Petar Stefauov on 19th Nov 2015

"Great tutor, knows how to keep people interested."

Artur Malinowski on 24th Sep 2015

"Very good at applying the examples to real world situations which is extremely useful."

Jonathan Sharifi on 24th Sep 2015

"Very well taught and very well presented by Russ. Simplified complex problems with stories very well."

Ricky Dean on 21st Sep 2015

"Very happy with the course, it's content and the instructor. It exceeded expectations."

Gareth Sullivan on 21st May 2015

About the Expert

Sam Brannen

Sam Brannen is a Senior Software Consultant with over 15 years' experience & co-founder of Swiftmind, a software consulting agency in Zurich, Switzerland. At Swiftmind Sam helps international clients achieve best practices in the architecture, design, implementation, & testing of enterprise Java applications using the Spring Framework and a plethora of open source technologies. In his consulting role, Sam most enjoys leading work shops, code reviews, coaching, and training clients.

About the Author

Rod Johnson

Rod is the father of Spring. The Spring Framework open source project began in February 2003, based on SpringSource's Spring framework published with Rod's best-selling Expert One-on-One Java EE Design and Development.

Thanks to our partners

Modules

INTRODUCTION TO SPRING

  • Java configuration and the Spring application context
  • Configuration and @Bean annotations
  • Import: working with multiple configuration files
  • Launching a Spring Application and obtaining Beans

SPRING JAVA CONFIGURATION: A DEEPER LOOK

  • External properties & Property sources
  • Environment abstraction
  • Bean scope, bean profiles
  • Spring Expression Language (SpEL)
  • How it Works: Inheritance based proxies

ANNOTATION-BASED DEPENDENCY INJECTION

  • Autowiring and component scanning
  • Java configuration versus annotations, mixing.
  • Lifecycle annotations: @PostConstruct and @PreDestroy
  • Stereotypes and meta-annotations

XML DEPENDENCY INJECTION

  • XML syntax, constructor & setter injection
  • Resource prefixes
  • Namespaces and best practices when using XML
  • XML profile selection

THE BEAN LIFECYCLE: HOW DOES SPRING WORK INTERNALLY?

  • The init phase: available interceptors
  • The init phase: what is the difference between XML, annotations and Java configuration?
  • The 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
  • Profile selection with @ActiveProfiles
  • Easy test data setup with @Sql

ASPECT-ORIENTED PROGRAMMING

  • What problems does AOP solve?
  • Differences between Spring AOP and AspectJ
  • Defining pointcut expressions
  • Implementing an advice: Around, Before, After

DATA ACCESS AND JDBC WITH SPRING

  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • Implementing caching using @Cacheable
  • jdbc namespace and Spring‘s 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?

JPA WITH SPRING AND SPRING DATA

  • Quick introduction to ORM with JPA
  • Benefits of using Spring with JPA
  • JPA configuration in Spring
  • Spring Data JPA dynamic repositories

SPRING IN A WEB APPLICATION

  • Configuring Spring in a Web application
  • Introduction to Spring MVC, required configuration
  • Controller method signatures
  • Views and ViewResolvers
  • Using @Controller and @RequestMapping annotations

SPRING BOOT

  • Using Spring Boot to bypass most configuration
  • Simplified dependency management with starter POMs
  • Packaging options, JAR or WAR
  • Easily overriding Spring Boot defaults

SPRING BOOT - GOING FURTHER

  • Going beyond the default settings
  • Customizing Spring Boot configuration
  • Logging control
  • Configuration properties using YAML
  • Boot-driven testing

SPRING SECURITY

  • What problems does Spring Security solve?
  • Configuring authentication and intercepting URLs
  • The Spring Security tag library for JSPs
  • Security at the method level
  • Customizing the Spring Security filter chain

REST WITH SPRING MVC

  • An introduction to the REST architectural style
  • Controlling HTTP response codes with @ResponseStatus
  • Implementing REST with Spring MVC, @RequestBody, @ ResponseBody
  • Spring MVC’s HttpMessageConverters and automatic content negotiation

MICROSERVICES WITH SPRING CLOUD

  • Microservice Architectures
  • Challenges with cloud-native applications
  • Using Spring Cloud
  • Developing a simple microservice system

Audience

If you are an experienced Java EE Developer or Architect and you:

  • are interested in learning all about developing java applications with Spring
  • You have an upcoming project and need to learn Spring quickly
  • You like to become Spring Certified to improve your career opportunities

All exam vouchers, provided after successful completion of the course will have a 3 month expiration limit. Delegates must use within 3 months or the voucher will expire and a free replacement will not be available.

Prerequisites

To benefit from this Core Spring course you will need to be an experienced Java developer or architect with experience developing applications using Java.

Bring your own hardware

Delegates are requested to bring their own laptop for this course, with Java 6 installed. If you are unable to bring a laptop for the course, please contact the sales team on +44 20 7183 9040, or email the sales team.