0

ちょっと興味があるんだけど。

  1. セッターのメソッドの後にBeanの初期化が行われるのはなぜですか? 初期化はセッターメソッドの前に行うのが最善だと思いました-インスタンスメンバーに値を設定する前に検証を行って、それが適切であることを確認するように

  2. beanPostProcessor が beforeInitialization メソッドを持っているのに after 初期化を考慮したのはなぜですか?

4

2 に答える 2

1
  1. 私の理解では、setter の呼び出しなどは、Bean の初期状態をセットアップするためのアクションと見なされます。Bean セットの初期状態がないと意味のある初期化を行うことはできません。初期化がセッターの前に行われるとどうなるか考えてみてください: (ctor インジェクションではなく、セッター インジェクションを使用していると仮定します) Bean はデフォルトの ctor を呼び出すことによって作成され、次に初期化を呼び出します。その後、何を初期化できますか? Bean は、依存関係が適切に注入されていない単なる空のオブジェクトです。そのような場合に初期化を行うことができれば、そのような初期化は簡単に ctor に入れることができます。

  2. BeanPostProcessor の場合、「投稿」は初期化後のことを指していないと思います。Bean が作成された後 (つまり、作成後) に後処理を行うだけです。この種の後処理は、Bean が初期化される前と後の 2 つの異なるタイミングで行うのが一般的です。したがって、2つの方法について。

于 2013-03-07T02:47:45.480 に答える
0
  1. したがって、初期化では Bean に設定された値を使用できます。
  2. ポストプロセッサだからです。
于 2013-03-07T02:14:39.717 に答える