Как конвертировать проект Spring 2.5 в 3.0 - PullRequest
0 голосов
/ 07 февраля 2012

Я пытаюсь преобразовать простой проект Spring 2.5 hello world (из Spring Recipes) в 3.0.Для начала я создал проект Simple Spring Utility Project (из опции Spring Template Project для новых проектов).

Я скопировал исходный код в пакет "src / main / java / com.apress.springrecipes.hello" проекта 3.0.Там файл конфигурации компонента находится по адресу "src / main / resources / META-INF / spring / app-context.xml".Тем не менее, 2.5 hello world вызывает файл «beans.xml», и он создается в корневом пути проекта.Код для класса Main выглядит следующим образом:

public static void main(String[] args) {
    ApplicationContext context = 
        new ClassPathXmlApplicationContext("beans.xml");

    HelloWorld helloWorld = (HelloWorld) context.getBean("helloWorld");
    helloWorld.hello();
}

Как бы изменить это, чтобы найти новый app-context.xml?

1 Ответ

2 голосов
/ 07 февраля 2012

Я бы добавил каталог src/main/resources/META-INF/spring в CLASSPATH, а затем изменил код следующим образом:

public static void main(String[] args) {
    ApplicationContext context = 
        new ClassPathXmlApplicationContext("app-context.xml");  // why would expect to find beans.xml?

    HelloWorld helloWorld = (HelloWorld) context.getBean("helloWorld");
    helloWorld.hello();
}

Это изменение не имеет ничего общего с версией Spring; требуется, чтобы вы понимали, что такое ваш CLASSPATH и где Spring будет искать для загрузки XML-файлов контекста приложения.

Вы должны понимать, как использовать аннотации для автоматического подключения.

Вы должны прочитать о новых функциях в Spring 3.1.

Вам следует изменить контексты приложения Spring, чтобы они указывали на новую версию 3.0 .xsd и пространство имен.

Вам, конечно, нужны 3,1 JAR.

...