注釈を使用して設定されたコントローラを備えた小さなMVCウェブアプリがあります。注釈を使用して自動配線できる春のBeanを作成するには?
xmlの設定は簡単です。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="net.dynamic_tools.jsdependency" />
</beans>
私のコントローラは、私はタイプの一致するBeanが[net.dynamic_tools.jsdependency.view.ScriptTagsJSView]依存関係が見つかりません
を言って、エラーを取得しています
@Controller @RequestMapping("/*") public class JSDependencyController { @Autowired private ScriptTagsJSView scriptTagsJSView;
のように見えます
私はコンポーネントの注釈をScrに追加しようとしましたitTagsJSView
@Component("scriptTagsJSView")
public class ScriptTagsJSView implements View {
運がない。私も
@Configuration
public class Config {
@Bean
public ScriptTagsJSView getScriptTagsJSView() {
return new ScriptTagsJSView();
}
を設定POJOを追加し、@Bean注釈を使用してみました私はおそらくかなり単純な何かが欠けているが、これは動作していない理由を私は見ることができません。何か案は?
ScriptTagsJSViewはどのパッケージですか?コンポーネントスキャンベースパッケージは指定したパッケージからのみ下向きに検索するので、そのクラスがそのパッケージの外にある場合はスキャンされません。編集:下記の私の答えを参照してください、また、上記のコメントを検討してください。 – Jberg
両方のご連絡ありがとうございます。努力を感謝します。問題は私がばかだということが分かりました。私が使用していると思ったxmlファイルは、実際に使用していたxmlファイルではありませんでした。実際に使用していたのは、net.dynamic_tools.jsdependpendency.controllerからスキャンしていたため、net.dynamic_tools.jsdependency.viewの注釈がありませんでした。 annotation-configは必要ではないようです。 –
これをやりたい人は@Componentアノテーションを使っています。 @Configurationクラスと@Beanクラスを削除しました。 –