2016-09-26 3 views
1

Struts 2.5とSpring 4を使用しています。Strutsはhttps://struts.apache.org/docs/spring-and-struts-2.htmlで説明されているようにスプリングが設定されています。Struts 2とSpring 4、Springアプリケーションコンテキストからバリデータオブジェクトまたはアクションオブジェクトを取得する方法

ストラットactionsvalidatorsは春の豆​​を管理し、それらで私はできinject(またはautowire)他の豆です。

public class MyValidator(){ 

    @javax.inject.Inject 
    private HelperClass aHelperClass; 
} 

今、私は春のアプリケーションコンテキストからMyValidatorクラスを取得し、それを使用したい:バリデータを示し、このバリデータが正常に動作している

は、春の豆です。以下のコードは、働いていたと私はapplicationContext.getBeanDefinitionNames()を見たがvalidatorを見つけることができませんでしnull

applicationContext.getBean("MyValidator"); 
applicationContext.getBean("foo.bar.MyValidator"); 

を返されませんでした。

したがって、SpringのStrutsバリデータを入手するには、applicationContext

答えて

1

Beanがアプリケーションコンテキストで設定されていません。 Springがコンポーネントスキャンを使用してこのBeanを見つけられるようにするには、@Componentアノテーションを追加する必要があります。

@Component 
public class MyValidator(){ 

    @javax.inject.Inject 
    private HelperClass aHelperClass; 
} 
+0

ありがとうございます@RomanC私はすぐにテストします(私のPCでは今はありません)。ところで、 'バリデーター'と 'アクション'の中で '注入'が働くので、 'バリデータ'と 'アクション'はすでに春になっており、再注釈する必要はないと思います。私が間違っている ?! –

+0

'@ Component'が機能しました。 (私たちは '@ Named'をいくつか同じ方法で使用していました) –

+0

親愛なる@RomanC Struts Beanに関する質問はまだあります。私はhttp://stackoverflow.com/questions/39706221/struts-2-and-spring-how-struts-created-objects-handledでそれを尋ねました。 –

関連する問題