2011-06-18 5 views
1

私は、Springフレームワークへの動的機能拡張を実装しようとしています。私は コンテキスト:コンポーネントスキャン値が必要です。例えば、私はどのように "org.inanme.mock.easymock"の値を抽出するのですか? この例は非常にシンプルですが、かなり複雑になっています。springから "component-scan"値を抽出する

<context:component-scan base-package="org.inanme.mock.easymock" /> 

i "がBeanDefinitionRegistryPostProcessor" クラスを実装することを考えていますので、私は "ConfigurableListableBeanFactory"、 "BeanDefinitionRegistry" のクラスを持っています。彼らは上記の情報を持っていますか?それ以外は?

答えて

2

ComponentScanBeanDefinitionParserのソースを見ると、その値は検索可能な場所に保存されていないように見えます。別の方法としては、コンテキストXMLを自分で解析して抽出することです。

+0

が同意するComponentScanBeanDefinitionParserは読み取り後に公開されません。 –

0

本当にbase-package属性の値が必要ですか、それともすべての一致するBeanを知るのに十分でしょうか?後者の場合、@Componentまたは派生した注釈で注釈が付けられたBeanのアプリケーションコンテキストをスキャンしようとします。

+0

は、既存の一致したBeanには関心がありません。私は設定がフリーズする前に、新しいBeanを動的に定義するためのきれいな方法を見つけようとしていました。 –

関連する問題