3

Spring MVC Hibernate アプリケーションで、src/java/resources の下にあるプロパティ ファイルを使用しようとすると、以下のエラーがスローされます。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.lang.String com.mcb.controller.UserController.strDefaultPage; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'mcbPage.name'

以下のコードを使用して、コントローラー クラスのプロパティ値にアクセスしています。

@Value("${mcbPage.name}") 
private String strDefaultPage;

このプロパティ ファイルの ApplicationContext.xml ファイルに Bean を追加しました。

<bean id="mcbProperties"
    class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="ignoreResourceNotFound" value="true" />
    <property name="locations">
        <list>
            <value>classpath*:mcb.properties</value>
            <value>file:src/main/resources/mcb.properties</value>
        </list>
    </property>
</bean>

<bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="properties" ref="mcbProperties" />
</bean>

プロパティ ファイル ( mcb.properties) は src/main/resources の下にあります。@Autowired正常に動作しています。しかし、プロパティファイルを使用しようとすると、サーバーの起動中にエラーがスローされます。
誰かがこれを解決するのを手伝ってくれますか?

4

2 に答える 2

3

更新の 使用

<util:properties id="mcbPage" location="classpath:mcb.properties"/>

そしてあなたのBeanで

private @Value("#{mcbPage['name']}") String strDefaultPage;
于 2012-06-30T18:15:54.867 に答える
0

@PropertySource("classpath:mysql.properties") を使用することもできます

または

1) Add this to your spring config XML .

  <bean id="messageSource" class="org.springframework.context.support.
              ResourceBundleMessageSource">
        <property name="basename" value="messages"/>
    </bean>

2) create a property file name calles "messages.properties" and place that in
WEB-INF/Classes folder.

3) Include the following JSTL in jsp.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

4)Use the properties as follows in JSP.

<fmt:message key="yourPropertyName"/>

5) Make sure you place "messages" in Web-inf/classes
于 2012-07-01T14:26:05.183 に答える