JDK 7は言語レベルでDIをサポート?

JDK 7で導入予定のJavaのClosuresについて書いてあるブログを眺めていたのですが、ふと他のエントリを見ると、JDK 7に"runtime interface and abstract class reification"のサポートを提案したと書いてありました。"http://floatingpoint.tinou.com/2008/08/fixing-dependency-injection-with-interface-reification.html"です。

このブログによると、いちいちGlobalApplicationContext.getBean()(Spring)だのInjector.getInstance()(Guice)だのするのはいやだ、と。で、

interface MovieFinder {...}

...
MovieFinder mf = realize MovieFinder();
List movies = mf.findAll("Scarlet Johansson");
...

のようにコーディングするだけで、interfacesやabstract classesを実行時にrealize(インスタンス化ではなく、現実化?)できるようにしたいので、そのための機能を言語レベルでサポートしたいということのようです。

まぁ、より少ないコード量になりそうなので、そういう点ではいいのかもですが、DIってどちらかというと、実際に現実化されるクラスをどうやって"シンプル"に貼付ける(対応させるか)の方が、問題じゃないのかなぁと思ったり。。。

コメントで取り上げてあったブログ(http://weblogs.java.net/blog/timboudreau/archive/2008/08/simple_dependen.html)では、JDK 6で導入されたServiceLoaderをSimple DIと呼んでいる話もでています。が、これは、以前から言われていたことで、ここServlet Gardenでもhttp://d.hatena.ne.jp/yokolet/20071009#1191955706で触れたことがありました。今になって、こんなブログが出てきているということは、Javaの世界で再び?DIが熱くなってきているということ、かな。

余談ですが、Javaのclosuresは例に引き出されているRubyのblock(http://floatingpoint.tinou.com/2008/08/java-control-abstractions.html)よりも、JavaScriptのclosuresにかなり近いと思う。jQueryを使っていると、よくこんな感じになりましたよ。便利なので、これがJavaでもできるなら、いいかな。