Over a million developers have joined DZone.
Gold Partner

Upgrading to Spring 3.1

· Java Zone
A few days ago I thought that it was about time to upgrade my sample code to Spring 3.1, after all it’s been around for a respectable amount of time and has a couple of bug fix releases.

Upgrading to Spring 3.1 is very simple of upgrading your Maven version number and rebuilding, something like this:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

After recompiling you’ll probably find a whole bunch of newly deprecated classes such as XmlBeanFactory, which has been deprecated in favour of DefaultListableBeanFactory so,
    Resource resource = new ClassPathResource("example2.xml");
    return new XmlBeanFactory(resource);

becomes

    Resource resource = new ClassPathResource("example2.xml");

    DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
    BeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory);
    reader.loadBeanDefinitions(resource);

For a full list of deprecated classes http://static.springsource.org/spring/docs/3.1.x/javadoc-api/deprecated-list.html

The next thing to do is option, but a good idea is to change your Spring XML headers from 3.0 to 3.1 so that the XML schema’s referenced end in -3.1.xsd. For example:

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

becomes

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

The easiest way of doing this is to use eclipse’s global replace to replace to change -3.0.xsd with -3.1.xsd, but have a quick check first before your do this...

The reason for updating your schema’s is to take advantage of Spring’s new features, but more on that later...
Topics:

Published at DZone with permission of Roger Hughes , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}