0
春の新機能で、そこにApplicaionConfig.javaを定義しました。プロパティファイルの詳細を配置しました。春のコンポーネントスキャンの順序
package com.rao.first;
//
// import statements
//
@Configuration
@ComponentScan(basePackageClasses = { ApplicationConfig.class }, basePackages = { "com.rao.first" })
@PropertySources({
@PropertySource("file:${webapp.root}/resources/config/application.properties"),
@PropertySource(value = "file:${conf.dir}/someother.properties", ignoreResourceNotFound = true) })
class ApplicationConfig
{
@Bean
ServletContextListener logbackConfigListener()
{
return new LogbackConfigListener();
}
}
いくつかのコントローラクラスを定義しました。
package com.rao.first.controller;
//
// import statements
//
@Controller
@RequestMapping(value = "/first")
public class FirstController
{
private String viewerUrl;
@Inject
public FirstController(Environment env)
{
this.viewerUrl = env.getProperty("property1");
}
//
//
}
しかし、ここで最初のコントローラが実行され、そのApplicaitonConfigが実行された後に、プロパティファイルからデータを取得するようにできません。
と春-servlet.xmlファイル構成は
<context:component-scan base-package="com.rao.first.view" />
<context:component-scan base-package="com.rao.controller.security" />
<context:component-scan base-package="com.rao.controller" />
あり、実行の順序を設定することができますどのように私を導いてください?
'@Order(Ordered.HEIGHEST_PRECEDENCE) 'を使用できます。 –
@AtaurRahmanMunna私は' spring 4.2.5'を使用しています...このバージョンでは、注文されたインターフェイスは利用できません。 – Rao
純粋な整数を使用してください。例えば@Order(2)です。数字が小さいほど、優先順位が高くなります。回答:https://stackoverflow.com/a/46278128/4423636を参照してください。 –