0

Spring MVC アプリケーションを入手しました。Tomcat 7 サーバー上で実行されます。

props.properties ファイルを作成したいので、アプリは Beans の初期化プロセス中にプロパティにアクセスできます。

だから私は次のことをしました:

1.私のweb.xmlにコンテキストパラメータを作成します

<context-param>
        <param-name>mainProps</param-name>
        <param-value>${catalina.home}/conf/props.properties</param-value>
    </context-param>

2. MainCobfig クラスを作成しました

@Configuration
@PropertySource("classpath:/racoonsoft/wish/properties/props.properties")
@Import({WebConfig.class })

public class MainConfig {
@Autowired
Environment env;

@Value("${db.host}")
static String dbHost;
@Value("${db.name}")
static String dbName;
@Value("${db.login}")
static String dbLogin;
@Value("${db.password}")
static String dbPassword;

@Value("${ozon.login}")
static String ozonLogin;
@Value("${ozon.password}")
static String ozonPassword;
@Value("${ozon.apiurl}")
static String ozonApiUrl;

@Value("${payture.apihost}")
static String paytureApiHost;
@Value("${payture.merchant}")
static String paytureMerchant;

@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
    return new PropertySourcesPlaceholderConfigurer();
}

@Bean
public ScheduledAnnotationBeanPostProcessor scheduledAnnotationBeanPostProcessor() {
    return new ScheduledAnnotationBeanPostProcessor();
}

@Bean
public OzonProcessor apiProcessor() {
    return new OzonProcessor(ozonLogin, ozonPassword, ozonApiUrl);
}

@Bean
public PGSQLDataSource pgsqlDataSource() throws Exception{
    PGSQLDataSource result = new PGSQLDataSource(dbHost,dbName,5432,dbLogin,dbPassword,"org.postgresql.Driver","jdbc:postgresql:");
    result.loadSettings();
    if(FacebookController.dbProc==null)
    {
        FacebookController.dbProc = result;
    }
    //FacebookController.dbProc = result;
    return result;
}
@Bean
public PaytureProcessor paytureProcessor()
{
    PaytureProcessor proc = new PaytureProcessor(paytureApiHost,paytureMerchant);
    return proc;
}
}

3 - props.properties ファイルを作成し、/conf ディレクトリに配置しました

アプリケーションを起動しても例外がスローされませんでした (ファイルが見つかりません)。しかし、Bean の初期化中、フィールド (dbHost、dbLogin など) はまだ null です。

プロパティ ファイルからフィールドに値を入力するにはどうすればよいですか?

お願い助けて。

4

2 に答える 2

-2
# form user login properties
userName.required = User Name is required

コントローラー側では、 のみを宣言しますuserName.required。そう宣言するのです。

于 2013-05-15T12:39:49.990 に答える