加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

IoC容器支持使用Scala名为/ default参数的构造函数注入?

发布时间:2020-12-16 18:02:32 所属栏目:安全 来源:网络整理
导读:如果我可以利用 Scala 2.8的命名和默认参数功能,我宁愿在 JavaBean属性注入上使用构造函数注入.存在哪些IoC容器支持或可以轻松扩展? (所需信息在运行时的scala.reflect.ScalaSignature注释中存在.) 我也对IoC容器有一些基本的(?)期望: 自动布线(按目标类
如果我可以利用 Scala 2.8的命名和默认参数功能,我宁愿在 JavaBean属性注入上使用构造函数注入.存在哪些IoC容器支持或可以轻松扩展? (所需信息在运行时的scala.reflect.ScalaSignature注释中存在.)

我也对IoC容器有一些基本的(?)期望:

>自动布线(按目标类别/特征或注释,一对一和一对多)
>显式注入(显式布线)没有太多麻烦(像Guice那样弱).就像用户在新的ConnectionPool中注入那样(user =“test”).
>关闭时清理的生命周期回调(按正确顺序)

Spring可以做到这些,但是它不支持命名参数.我已经考虑过使用FactoryBean-s来桥接Scala和Spring,但就我看来,这意味着太麻烦(样板或代码生成).

解决方法

A部分

我有一个正在进行中的反射库,它解析Scala签名,目前能够解析命名参数:https://github.com/scalaj/scalaj-reflect

不幸的是,我还没有将它重新绑定到Java反射中以便能够调用方法,也没有添加逻辑来解析默认值(尽管这应该是微不足道的).我的待办事项清单上的这两个功能都非常高:)

这不是IoC容器本身,但它是我的另一个项目的先决条件:https://github.com/scalaj/scalaj-spring.scalaj-spring的工作停止了,当它变得非常明显,我将无法做任何有价值的进一步进展,直到我有基于签名的反思.

B部分

所有这些东西都是针对大企业人士的.那些别无选择,只能将他们闪亮的新Scala代码集成到一些笨重的遗留系统……如果那不是你的用例,那么你可以直接在Scala中做Scala DI.

Lift banner:http://www.assembla.com/wiki/show/liftweb/Dependency_Injection下提供了DI支持

你也应该寻找蛋糕模式的参考

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读