Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HelloWorld Spring, Пример из книги "Spring in action" 
V
    Опции темы
Baka_tyan
Дата 6.12.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



Начал изучать Spring, проблема вылезла на 1же примере HelloWorld. 

Код

package com.springinaction.charter01.hello;
import java.io.FileInputStream;



import org.springframework.beans.factory.BeanFactory; 
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.Resource;
public class HelloApp {
    public static void main(String[] args) throws Exception {
        BeanFactory factory = new XmlBeanFactory( new FileInputStream("hello.xml"));   //в этой строке непонятно
        GreetingService greetingService = (GreetingService)factory.getBean("greetingService");
        greetingService.sayGreeting();
    }
}

1) не хочет компилиться. Захожу в док, смотрю на конструктор XmlBeanFactory : 
Код

XmlBeanFactory(Resource resource) 
          Create a new XmlBeanFactory with the given resource, which must be parsable using DOM. 
XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) 
          Create a new XmlBeanFactory with the given input stream, which must be parsable using DOM 

Конструктор принимает Resource, но никак не FileInputStream как описано в книге. 
Если исправить и сделать как подсказывает Eclipse,
Код

BeanFactory factory = new XmlBeanFactory((Resource) new FileInputStream(new File("hello.xml")));

компилируется без проблем, но выдает Exception 
Exception in thread "main" java.lang.ClassCastException: java.io.FileInputStream cannot be cast to org.springframework.core.io.Resource
    at com.springinaction.charter01.hello.HelloApp.main(HelloApp.java:14)

Как сделать чтобы работало?
PM MAIL   Вверх
ratzko
Дата 6.12.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

Репутация: нет
Всего: нет



Попробуи так:
Код

BeanFactory factory =new XmlBeanFactory(new FileSystemResource("hello.xml"));


лу4ше изу4ать по :
Spring in Action, Second Edition Craig Walls with Ryan Breidenbach
PM MAIL   Вверх
Baka_tyan
Дата 6.12.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



Цитата(ratzko @ 6.12.2007,  15:02)
Попробуи так:
Код

BeanFactory factory =new XmlBeanFactory(new FileSystemResource("hello.xml"));


лу4ше изу4ать по :
Spring in Action, Second Edition Craig Walls with Ryan Breidenbach

изменил, вылезло вот это:


Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.springframework.beans.factory.support.AbstractBeanFactory.<init>(AbstractBeanFactory.java:93)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:108)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:118)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.<init>(DefaultListableBeanFactory.java:87)
    at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:72)
    at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)
    at com.springinaction.charter01.hello.HelloApp.main(HelloApp.java:13)


блин, ну я понимаю там ошибка в сложном примере, но в HelloWorld программке - это слишком.  
кстати, это и есть Spring in Action,  Craig Walls with Ryan Breidenbach

PM MAIL   Вверх
ratzko
Дата 6.12.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

Репутация: нет
Всего: нет



добавь commons-logging.jar в проект
PM MAIL   Вверх
Baka_tyan
Дата 6.12.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



Спасибо! Все теперь работает  smile 
PM MAIL   Вверх
v2v
Дата 8.12.2007, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



если дальше будешь разбиратся с spring MVC ,  то рекомендую ЭТОТ  туториал.


--------------------
PM   Вверх
Baka_tyan
Дата 10.12.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.9.2006

Репутация: нет
Всего: нет



Пасиб, туториал хороший. 
Кто столкнется с этими граблями - Spring in action в первой редакции для Spring 2 не подходит, нужно  читать 2 редакцию.
... Spring - Must have!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.