Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Прочитать файл из класспаса


Автор: kaa 27.9.2009, 20:21
Всем радостное здрасти!

В общем вопрос такой: как из бина, создаваемого Spring, в веб-приложении, прочитать файл из папки /WEB-INF, 
например.

Бин создаётся по xml-ю, описанному в contextConfigLocation.

Я всю голову сломал. Уже пытался и так в определении бина делать:
Код

 <bean id="core" class="com.xxx.xxx.xxx.ServerCore">
        <constructor-arg ref="hibernate"/>
        <constructor-arg ref="world"/>
        <constructor-arg value="classpath:/WEB-INF/gserver_conf.xml"/>
  </bean>


Код

 public ServerCore(HibernateTemplate hibernate, World wrld, ClassPathResource rootDir){
        itsInstance = this;
        hbt = hibernate;
        world = wrld;
        this.rootDirRes = rootDir;
}


Но, черт побери, не возвращает он мне объект File из ресурса. Пишет что не может найти.

Как это победить? Никто не знает?

PS: сейчас еще немного погуглил и понял что без контектса наверное никак не обойтись, а вот как получить контекст в созданном бине?

Автор: MisterCleric 28.9.2009, 09:32
Привет. Вместо ClassPathResource возьми http://www.google.com.ua/search?q=Spring%27s+Resource

Автор: kaa 28.9.2009, 11:30
MisterCleric, 
Ок!

Пасиба! Попробую.

Автор: MisterCleric 28.9.2009, 14:54
Вообще Spring такой, что ему для чтения из WEB-INF не надо указывать конткретизатор classpath:
Вот же пример из его дистрибутива
Код

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>WEB-INF/mail.properties</value>
                <value>WEB-INF/jdbc.properties</value>
            </list>
        </property>
    </bean>


Автор: kaa 28.9.2009, 21:54
Всем привет!
Кажись помогло! 
Всем большое спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)