1

Spring 構成のボイラープレートの量を (コンポーネント スキャンなどを使用せずに) 削減するために、Spring を Guice のようなモードで "構成より規約" で実行したいと考えています。

Guice では、Bean を明示的に構成する必要はありません。次のような Bean 構造を作成すると、Guice は「正しいことを行います」:

class Foo {
  @Inject
  public Foo(Bar bar) {
  }
}

class Bar {
  @Inject
  public Bar(Blah blah) {
  }
}

class Blah {
  public Blah() {}
}

Spring では、次@Configurationのようなボイラープレートでいっぱいになる関連クラスが必要になります。

class Config {
  @Bean public void foo() {
    return new Foo();
  }

  // etc.
}

これはカスタム BeanFactory で可能かもしれないと思いますが、Spring の他の手段で可能であれば、その道をたどる必要は避けたいと思います。

@ComponentScan代替手段になりますが、適切なスプリング注釈を持たない制御外のオブジェクトでこれを機能させたいので@Component、コンポーネントスキャンのショットガンよりもメスのアプローチを使用したいと思います.

4

1 に答える 1

0

私はあなたがそれをかなり釘付けにしたと思います。<context:component-scan>コントロール外のクラスの xml ベースの Bean 定義をさらにいくつか持つことができます。Guice の方法はProvider、これらのクラスに a をバインドすることです。あなたの毒を選んでください。最近、これらの DI フレームワークからもう少し魔法を絞り出そうとしていることに気付きましたが、自動的に機能しないものがあるのには十分な理由があることに気づきました。それ以外の場合は危険です。

于 2012-12-12T18:27:42.253 に答える