问题标签 [macwire]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 注入数据库连接池
我已经开始使用 MacWire 对我的 Play 应用程序进行依赖注入,但在尝试注入数据库连接时遇到了问题。
在使用 DI 之前,我的代码如下所示:
这在使用 DI 后不再起作用。我得到以下异常:java.lang.InstantiationException: play.api.db.DBApi
.
我的应用程序加载器:
应用程序的主要组件:
和存储库模块:
如何获取和使用数据库连接池并将其注入以便可以在存储库中使用?
scala - 如何使用 macwire 注入特征
我有 Scala 特质
我想用 MacWire 将它注入到服务中
然后在测试或课程中使用它
但我在服务类中遇到编译错误
找不到 accounts.repository.UserRepository 的公共构造函数或伴随对象
scala - 如何在 playframework 2.4 中运行 httpFilters
我正在尝试使用 macwire DI 在 Playframework 2.4 上构建应用程序,但 Play 中的 httpFilters 有问题!这是我正在尝试做的一个例子
DI模块
加载器类
application.conf 的一部分是
和 ExampleFilter 不起作用。我收到没有“示例”标题的响应
scala - 使用扩展控制器播放 2.4 macwire 示例似乎无法模拟
我采用了现有的 macwire 示例并像 CoffeeController.scala 一样扩展了控制器
控制器模块.scala
但是,当我运行测试时,我得到了一个堆栈跟踪:
我可以尝试运行(FakeApplication()){...},但后来我得到路由注入器错误。目前该代码在 build.sbt 中使用 routesGenerator := InjectedRoutesGenerator,但我认为它不会转化为测试阶段。
我已经把代码放在这里了 https://github.com/tashiscool/Play24MacwireMockingFailure
如果您运行激活器测试,您应该会在控制器测试中看到错误。
scala - DI 或服务定位器:在 scala 中在运行时注入实现(无静态绑定)
我有一个用例,我想提供一个简单的 API 来扩展我的 scala 应用程序的功能。
在过去的几天里,我一直在尝试找到一个 java/scala DI 框架或库来为我执行以下操作:
- 标识类路径上的接口/特征的实现
- 在标记的站点上实例化并注入所述实现(重要特征:所有这些),最好带有注释
- 以上不能在编译器中发生,因为我需要一个插件架构,在 JVM 启动之前不引入插件
- 因此上述可能发生在 JVM 启动时(不需要热交换)
我越来越倾向于 OSGi DS,我是它的忠实粉丝,但由于 #4,我认为它是一种矫枉过正。
我查看了 guice、weld、scaladi 和 macwire,但无法立即找到执行此操作的简单方法。我的目标是让“插件”作者不必以任何方式了解我的注入/IoC 解决方案,除了偶尔的注释(最好是 JSR330)在注入站点我愿意处理更丑陋的事情。:-)
我是否必须在这里推出自己的解决方案,使用 OSGi,还是我在上述库中遗漏了一些微不足道的东西?
ps:我试图避开 OSGi 主要是因为它与我正在使用的应用程序框架交互(akka - 不确定捆绑/DS 生命周期与单个参与者系统混合得很好)
scala - 如何使用 MacWire(播放框架)将依赖项注入服务
我有一个服务类,并且该服务有一个方法getSomethingFromApi
,现在,我想要播放配置实例,以便我可以从 application.conf 中提取内容,以及播放 WSClient,以便我可以执行 http 调用。
这就是我希望我的服务看起来的样子:
这是连接我的服务的 ServicesModule:
我现在的问题是使用接线播放配置和 WSClient 实例的正确方法是什么..?因为目前我在我的服务中需要这些实例,但我没有它们,我应该如何以正确的方式做到这一点?谢谢
java - 无法使用 Macwire 连接播放依赖项
我有一个 api 服务类,它依赖于 play 的 Configuration 和 WSClient 实例。
而且我不想使用 @Inject() 注释,因为我想在 Macwire 上使用编译时注入,所以我所做的是:
但我得到一个编译器错误:
错误:找不到类型的值:[com.typesafe.config.Config]
lazy val conf:Configuration = wire[Configuration]错误:找不到公共构造函数或 [play.api.libs.ws.WSClient] 的伴随对象lazy val wsc:WSClient = wire[WSClient]
有人知道我该如何解决这个问题...?为什么会这样:/
谢谢!
scala - 如何设置播放框架 ApplicationLoader 和 Macwire 以使用自定义路由?
我以这种方式设置应用程序加载器:
但我的路线是自定义的,所以它看起来像:
routes
文件:
和我的v1.Routes
文件:
所以现在当我编译项目时,我得到了这个错误:
错误:找不到类型的值:[v1.Routes] 线 [Routes]
所以我不知道如何解决这个问题,有人知道我怎样才能让加载器使用这种路由结构吗?
scala - MacWire:找到多个类型的值
我正在使用 MacWire DI 框架,但出现此错误。
我的应用程序加载器是这样的:
在对代码进行少量修改后,我遇到了一些其他类似的错误。如何遵循 DI 依赖项来追踪这些错误?