Appendix B. Migrating to Spring Framework 3.1
Prev | Part VII. Appendices | Next

## Appendix B. Migrating to Spring Framework 3.1

In this appendix we discuss what users will want to know when upgrading to Spring Framework 3.1. For a general overview of features, please see Chapter 3, New Features and Enhancements in Spring 3.1

## B.1 Component scanning against the "org" base package

Spring Framework 3.1 introduces a number of `@Configuration` classes such as `org.springframework.cache.annotation.ProxyCachingConfiguration` and `org.springframework.scheduling.annotation.ProxyAsyncConfiguration`. Because `@Configuration` is ultimately meta-annotated with Spring's `@Component` annotation, these classes will inadvertently be scanned and processed by the container for any component-scanning directive against the unqualified "org" package, e.g.:

            <context:component-scan base-package="org"/>

Therefore, in order to avoid errors like the one reported in SPR-9843, any such directives should be updated to at least one more level of qualification e.g.:

          <context:component-scan base-package="org.xyz"/>

Alternatively, an `exclude-filter` may be used. See `context:component-scan` documentation for details.

Prev | Up | Next
Appendix A. Classic Spring Usage | Home | Appendix C. Classic Spring AOP Usage