2

@Autowired 依存関係を持つ抽象クラス「コマンド」と、抽象クラスを拡張するクラスがあります。依存関係は注入されていません。抽象クラスと具象クラスには @Component のアノテーションが付けられ、スキャンされています。ベース(抽象)クラスはスプリング管理されていないようです。そのためには何をする必要がありますか?抽象として定義する注釈はありますか? XML で Bean を定義したくありません。

public abstract class Command {
  @Autowired
  private SecurityUtils securityUtils;
....

@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
@Component
public class NoteCommand extends Command {
...
}

私の間違いです。コマンド クラスはコントローラーに挿入され、そのうちの 1 つ (NoteCommand) は "new" を介して手動でインスタンス化されました。すべてが良いです。

4

2 に答える 2

-1

これは、XML 構成で実現できます (注釈についてはわかりません)。これを読んでくださいhttp://docs.spring.io/spring-framework/docs/3.0.0.RC3/reference/html/ch03s07.html

これを試してください(子Beanに他の構成を追加しますか?)

<bean id = "command" class = "some.package.name.Command" abstract = "true">
  <property name = "securityUtils" ref = "securityUtils"/>
</bean>

<bean id ="noteCommand" class = "some.package.name.NoteCommand" parent="commadn">

</bean>

乾杯!

于 2013-10-31T19:54:13.670 に答える