http://d.hatena.ne.jp/maruo_syunsuke/20040903#p6

コンテナ自体をオートインジェクションすると、インジェクションされる
オブジェクトを保持するコンテナがインジェクションされる。
ルートを入れてほしかった。

ルートのコンテナを渡す場合ってどんなときなんでしょうか。コンテナを渡すと、S2Containerに処理が依存してしまうので、最近は渡さないって意見に僕は変わってます。
最近といっているのはClassAでinterFaceBを利用して、InterfaceBを実装したClassBではInterfaceCを使うって場合に、ClassBにS2Containerを渡してInterfaceCを呼び出すように考えていた時期には、S2Containerを渡したいと思っていた時期があったからです。
(この状態を書くのにクラス図っていいかも)
でも今は、ClassBにコンストラクタインジェクションでInterfaceCを実装したClassCを使うようにDiconファイルを定義しておけば、別にContainerはClassBに必要がないと考えています。ClassAがサービスのROOTだとするとここは、Containerに依存するかもしれないですが、その配下のInterfaceの実装はみんなdiconファイルで設定するということになっているのだと考えます。あってます?