概ねGuiceでDIは良いと思ってる。
>publicフィールドにして、うざったいsetter,getterをなくすとかね。
これはアリだと思います。(カプセル化云々は置いてといて)
「DIでインジェクションしまくる」「DTOにフィールドがいっぱいある場合」なんかは、
setter,getter地獄とも言えるようなソースになってしまうと思うからです。
(setter,getterをコーディングするのは苦でないですが、なんか”うざったい”クラスになってしまうので)
それってConstractorInjectionすれば良いんじゃ無いって思う
そうしたら、constract が依存性を解決するって言うインスタンスを生成するって事の債務に
注力できるから
@Inject なアノテーションによる
インジェクションがデフォルトになって
@Inject は javax.inject.Inject とかってアノテーションになって欲しい
んで、そもそもの依存性解決の為の設定無いし、Guiceで言う所のModuleクラスを
何か好きな用にすれば良いだけだと思う。
ってか、別にModuleインタフェースになってれば
XMLにしたければ、自分ですれば良いだけの話だしね
ま、別にDiContainerは、別にGuiceで良いと思うけれどもネ
Injectアノテーション
Moduleインタフェース
Binderインタフェース
Injectorインタフェース
javax.di.Inject
javax.di.Module
javax.di.Binder
javax.di.Injector
これだけ在れば、DIは表現出来るだろうから
後の実装は、おのおの好きな実装を使うとかで
良いと思う
っと言うか、特にこれだけのインタフェースだと
特に実装の差異も出ない気がするけれども