2013-02-23 1 views
0

Я пытаюсь загрузить файл свойств (.properties) в свой класс, я следую примеру в другом потоке здесь: How to read values from properties file? - но это не работает для меня.Загрузка файла свойств свойств в класс весной

вот мое быстрое внедрение:

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> 


    <context:annotation-config /> 

    <!-- Load up properties --> 
    <context:component-scan base-package="com.test"/> 
    <context:property-placeholder location="file:///C:/dev/workspace/test-project/src/main/resources/appconfig.properties"/> 
</beans> 

TestConfig.java

@Component 
public class TestConfig 
{ 

    @Value("${test.key1}") 
    private String key1; 

    public String getKey1() 
    { 
     return key1; 
    } 

} 

SRC/основные/ресурсы/appconfig.properties

test.key1=value 
test.key2=value 

Начиная мой кот, я вижу следующее в моем журнале:

00:11:41,985 [localhost-startStop-1] INFO PropertyPlaceholderConfigurer - Loading properties file from URL [file:/C:/dev/workspace/test-project/src/main/resources/appconfig.properties] 

Однако, когда я getKey1(), я получаю "нуль".

Что мне не хватает?

Вопрос 2: Если я использую ":" путь к классам

<context:property-placeholder location="classpath:appconfig.properties"/> 

Какой каталог является то, что в виду? корень из WEB-INF/классов?

ответ

0

Это было глупо ...

Когда я получаю объект TestConfig, я делал:

TestConfig config = new TestConfig(); 
config.getKey1(); 

Что, конечно, объект конфигурации является новым объектом и никогда не реализованный (или закачиваемым) ни с чем.

Вместо этого я впрыскивание так он получил инициализируется Spring Framework:

@Autowired 
private TestConfig config; 
0

Надеюсь, вы используете IDE, например Eclipse.

  • Проверьте, если каталог ресурсов добавляется к классам и включает в себя все файлы в нем, а также, если затмение нужно добавить . в шаблоне включения

  • сборки вашего проекта и проверить, если файл свойство доступно в WEB-INF/classes

Чтобы ответить на ваш второй вопрос

classpath:appconfig.properties -да весна будет искать файл в WEB-INF/classes

+0

Я - Первое это не удается, он использует локальный файл компьютер: // ссылка. Я создаю проект с помощью Maven и разворачиваю его в Tomcat 7. Я проверил созданную войну и нашел appconfig.properties в \ WEB-INF \ classes –

+0

спасибо за редактирование, поэтому даже если я использую classpath: appconfig.свойства, это должно быть хорошо, потому что файл свойств находится в военном файле. Так почему-то мой класс @Component не инициализирован? –

 Смежные вопросы

  • Нет связанных вопросов^_^