【发布时间】:2015-12-12 23:12:12
【问题描述】:
我正在与 Play 合作! 2.4 我使用 Ebean 作为 ORM 工具。当我通过 application.conf 配置 ebean 并使用 play ebean 创建的默认 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);
}
}
使用guice绑定模块
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=""
我想问题是我不清楚play需要什么配置,ebean需要什么。没有很多关于使用 ebean 和玩依赖注入的好文档。任何帮助是极大的赞赏。
【问题讨论】:
-
我正在学习 Play 2.4 + Ebean,我意识到没有必要在 ebean.properties 上再次配置 datasource.*。 application.conf 上的 db.default.* 就足够了
标签: playframework playframework-2.0 ebean playframework-2.4