我正在使用Play! 2.4,我使用Ebean作爲ORM工具。當我通過application.conf配置ebean並使用由ebean創建的默認Ebeanserver時,這一切都很好。如何在playframework中使用依賴注入來創建Ebeanserver?
我想實現的目標是能夠動態配置Ebeanserver並注入它。應用程序可以部署在不同的生產環境中,在每個環境中,URL,用戶名,密碼都可能會改變。所以我想存儲可以在單獨的配置文件中變化的參數,並以編程方式構建Ebeanserver對象。
我試過跟着這個鏈接:http://ebean-orm.github.io/docs/setup/guice,但我還沒有成功。我的配置如下所示:
EbeanServerProvider.java
public class EbeanServerProvider implements Provider<EbeanServer> {
@Override
public EbeanServer get() {
ServerConfig config = new ServerConfig();
config.setName("mysql");
config.loadFromProperties();
config.setDefaultServer(true);
return EbeanServerFactory.create(config);
}
}
使用綁定模塊吉斯
bind(EbeanServer.class).toProvider(EbeanServerProvider.class).asEagerSingleton();
ebean.properties
datasource.default = mysql
datasource.mysql.databaseDriver=com.mysql.jdbc.Driver
datasource.mysql.databaseUrl="jdbc:mysql://localhost/playdb"
datasource.mysql.username=root
datasource.mysql.password=""
application.conf
ebean.default = ["models.*]
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/playdb"
db.default.username=root
db.default.password=""
我想問題是我不清楚需要什麼配置,以及ebean需要什麼。在使用ebean和依賴注入方面沒有太多好的文檔。任何幫助是極大的讚賞。
我在學習Play 2.4 + Ebean,並且我意識到沒有必要在ebean.properties上再次配置datasource。*。在application.conf上使用db.default。*就夠了 –