SpringSource Certified Spring Professional (Spring 3)

Categories Sections and pages (not complete) which are related.
core-spring-3.0-certification-study-guide_0.PDF spring-framework-reference.PDF Reference Documentation 3.0.7 springsecurity.PDF Spring Security Reference Documentation 3.0.7
1 Container -basics 1.1 General The potential advantages of using Spring's dependency injection
1, 3.1-3.5

Dependency injection in XML, using constructor or setter injection

Default scope for Spring beans. What are the main scopes that can be used alternatively?

1.2 Lifecycle How to declare an initialization method in a Spring bean
3.6, 3.8

How to declare a destroy method in a Spring bean

Default bean instantiation policy: when are beans instantiated?

Note: you should have a good understanding of the lifecycle in general. What are BeanFactoryPostProcessors and BeanPostProcessors? When are they called in the startup process?

1.3 Annotations Enabling component-scanning
3.9, 3.10

Behavior of the annotation @Autowired with regards to field injection, constructor injection and method injection

How does the @Qualifier annotation complement the use of @Autowired

What is the role of the @PostConstruct and @PreDestroy annotations

Enabling the scanning of annotations such as @Required and @PreDestroy

1.4 Miscellaneous How to inject scalar/literal values into Spring beans
Page 42 Straight values (primitives, Strings, and so on), Page 45 Collections, Page 48 XML shortcut with the p-namespace, 3.7, 3.13, 3.14, 4, C.1, Pages 702-709 C.2 XML Schema-based configuration

How to refer to a collection in a Spring bean definition

How to create an ApplicationContext. What are the resource prefixes that can be used. How to refer to a Spring configuration file inside a package. The different implementations of ApplicationContext that can be used in an application.

How to externalize constants from a Spring XML configuration file into a .properties file

Purpose and usage of bean definition inheritance

How to use the p namespace

1.5 JavaConfig Usage of the @Bean and @Configuration annotations

How to write a bean definition method

1.6 Testing How to use Spring's integration testing support in a JUnit 4 test

How to a declare that a test should run in a transaction in spring-enabled JUnit 4

Differences between a Unit test and an Integration test. Which of them is supposed to interact with Spring?
2 AOP 2.1 Recommendations In order to work successfully with AOP, it is important to understand the theory behind the scenes. Consequently you should understand the four main AOP keywords taught in this course: Aspect, Advice, Pointcut and Joinpoint.
7, 8

2.2 Pointcuts You should have a deep understanding of poincut expressions. It is important to understand all poincut examples in the slides (apart from the ones in the “advanced topics” section at the end of the module).
Page 188 Declaring a pointcut, Page 207 Declaring a pointcut, 8.2

2.3 Advices Different kinds of Advice. How do they differ from each other?
Page 196 Declaring advice, 8.3, 8.11

2.4 Configuration Enabling the detection of @Aspect annotated classes. Is it possible to set up Spring AOP using XML configuration only (as opposed to annotations)?
7, 8

2.5 Proxies When are they generated in the Spring lifecycle? How do they resemble the target object that they advice? What limitations does Spring-AOP's proxy-based approach have?
7.6, 7.7, 8.5-8.10
3 Data Access and transactions 3.1 General The rationale for having the DataAccessException hierarchy
11, 12.1, 12.3, 12.9, 13.1, 13.2

Definition of a DataSource in the Spring configuration

3.2 The JdbcTemplate Usage of the JdbcTemplate with regards to exception handling, querying, resultset parsing

3.3 Hibernate Configuration of a SessionFactoryBean in xml

3.4 Transactions Configuration to declare a local transaction manager

Configuration to declare a JTA transaction manager

The different ways to do declarative transaction management with Spring (xml, annotations)

Usage of TransactionTemplate for programmatic transaction management (you simply need to understand a basic example based on the TransactionTemplate).

Transactions and exception management: what is the default rollback policy? Can it be overridden?

The @Transactional annotation: what are the main attributes that can be used for a transaction definition? Can this annotation also be used with a JTA Transaction Manager?

Regarding propagation modes, what is the difference between PROPAGATION_REQUIRED and PROPAGATION_REQUIRES_NEW

Regarding isolation levels, what is the difference between READ_COMMITTED and READ_UNCOMMITTED?
4 Spring MVC 4.1 General configuration This module shows how to configure a ViewResolver,a HandlerMapping and the DispatcherServlet. You won't be asked any question on how to configure those classes. However, you need to know what the goal of each of those components is.
15, 16.1, 17.1

You also need to understand the relationship between a DispatcherServlet ApplicationContext and a root ApplicationContext. Bootstrapping a root WebApplicationContext using the ContextLoaderListener

General usage of the @Controller and @RequestMapping annotations

A method annotated with @RequestMapping can return a String. What does it refer to? What are the main parameter types that this method can accept? (based on what you've seen in the class)

Goal of the @RequestParam annotation
5 Advanced topics 5.1 Remoting Advantages of using Spring Remoting rather than plain RMI?
19.2, 19.4

Goal and general configuration of the RMI Service Exporter

Goal and general configuration of RMI Proxy Generator

Difference between the RMI Service Exporter and the HttpInvoker

Does the HttpInvoker require to run a web server on the client side? On the server side?

5.2 Security What is the “Security filter chain” used in Spring Security?

Search the pdf using keywords on the left side. E.g. "@Secured" Note: @RolesAllowed is not on this PDF. You can Google for "@RolesAllowed".

Syntax to configure Spring Security to intercept particular URLs? (you need to have a good understanding of the various examples using intercept-url in the course)

Syntax to configure method level security

Method level security using @Secured or @RolesAllowed

Possible mechanisms to store user details: database? LDAP? Others?

When working with an authentication provider, is it possible to use a password encoder?

In the security tag library, what is the purpose of the <security:authorize /> tag?

5.3 JMS Purpose of the JmsTemplate
19.6, 21

How to declare a JMS Listener? Can a JMS Listener be a POJO?

Is it possible to run JMS inside a plain Servlet container without full Java EE support (such as Tomcat or Jetty)?

5.4 JMX Role of the MBeanExporter

Using Spring JMX, is it possible to export a POJO as an MBean?

Using Spring JMX, is it possible to automatically register an existing MBean with an MbeanServer?

Purpose of the @ManagedResource, @ManagedAttribute and @ManagedOperation annotations