2011-12-12 128 views
2

我們實際上正在嘗試注入不同的控制器類來實現修剪版本和完整版本。@注入控制器

我們採取春季和吉斯和所有文件一看就是剛要注入的變量,比如

@inject 
static MyBean bean; 

但有可能使注入聲明像這樣

@Inject 
public class MyRealBean implement MyBean 

我認爲不是,但也許...;) 所以問題是,在控制器的播放框架中的注入annunci的位置。 我想出了一種黑客,但我並不幸運。 我創建了一個包裝控制器,它擁有bean控制器並將所有消息發送給它。

public Wrapper extends Controller { 
@Inject 
static MyBean bean; 

public static void index() { 
    bean.index(); 
} 

也許有人知道更好的方法或我們在錯誤的道路......

感謝

+0

我不明白你想達到什麼目的,試着用更多的描述性例子來解釋你的問題。 – 0lukasz0

回答

2

構造函數之前把@Inject註解。

+0

好的,我們試過並在AbstractModule實現中綁定了一個構造函數來綁定正確的類(請參閱http://code.google.com/p/google-guice/wiki/ToConstructorBindings)。並創建構造函數public MyRealBean(MyBean bean){};'。但現在我們得到一個IllegalStateException:無法創建Guice注入器錯誤 – bopa

+0

您是否創建了一個擴展AbstractModule並執行如下操作的類:Guice.createInjector(new YouModule())? – caarlos0

+0

@ caarlos0我確實是這樣寫的。 – Wojteq