SpringSource's Core Spring: Developing with the Spring Framework

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

Next up: Monday, 27th - Thursday, 30th April at The Skills Matter eXchange, London

Russ Miles will be delivering this session. Starts at 9:00 AM.

Core Spring is the four-day flagship Spring Framework training. In this course, students build a Spring-powered Java application that demonstrates the Spring Framework and other Spring technologies like Spring AOP and Spring Security 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
  • Use dependency injection to set up and configure applications
  • Test Spring-based applications
  • Set up Spring configuration using XML, annotations, and Java configuration
  • Use JPA/Hibernate and JDBC with Spring to access relational databases
  • Use Spring support for transactions
  • Use aspect-oriented programming (AOP) to add behavior to objects
  • Develop a basic Web application with Spring MVC
  • Use Spring Security to secure Web applications
  • Use Spring with RMI, HttpInvoker, and JMS for remote communication
  • Add management with the JMX API

What the community says

"Knowledge through experience is the key with the ability to transfer this to people of all skill levels. Russ has this abundantly. "

Az Madujibeya on 20th Mar 2015

"It has been a good experience to be taught by an active developer. Russ has an engaging presentation style and is able to give us a 'real world' perspective on using Spring."

Umaima Lyra Ribeiro on 20th Mar 2015

"It was a pleasure to attend Russ's course, his experience, tips and knowledge of Spring are incredible."

Andrea Ghetti on 20th Mar 2015

"Amazing knowledge. Very well presented and great approach to delivery"

January 2015 attendee on 5th Mar 2015

"Russ Miles is a great instructor, understands spring, very energetic and cool!"

October 2014 Attendee on 25th Nov 2014

About the Expert

Russ Miles

"An expert is someone who has succeeded in making decisions and judgements simpler; through knowing what to pay attention to and what to ignore” – Edward de Bono, “Simplicity”, 1998

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. Rod is one of ...

Thanks to our partners

1 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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?

10 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

11 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

12 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

13 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


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


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.