小编Hug*_*ood的帖子

通过委派现有功能来实现协议

我通过建模棋盘游戏来学习Elixir,我有这个代码:

defprotocol Board do
  def can_handle_move(self)
  def handle_move(self, move)
end

defimpl Board, for: List do
  def can_handle_move(self), do: Enum.empty?(self)
  def handle_move(self, move), do: List.delete(self, move)
end
Run Code Online (Sandbox Code Playgroud)

它的实现看起来更复杂.实际上,can_handle_move只是Enum.empty?而且handle_move是公正的List.delete.Elixir有办法表达这个吗?就像是:

defimpl Board, for: List do
  def can_handle_move = &Enum.empty?/1
  def handle_move = &List.delete/2
end
Run Code Online (Sandbox Code Playgroud)

......不编译.我也试过没有defs.

elixir

5
推荐指数
1
解决办法
703
查看次数

如何禁用Spring的JpaExceptionTranslatorAspect

我正在从Spring 2.5.6迁移到3.2.5.jar spring-aspects-3.2.5包含新方面JpaExceptionTranslatorAspect,它将标准JPA异常转换为Spring异常.它似乎是一个特定于Roo的方面.这个方面会自动编织到存储库中(使用@Repository注释).因此,标准JPA异常不再被捕获并且应用程序被破坏.

如何排除JpaExceptionTranslatorAspect被编织?如果无法完成,还有其他解决方法吗?或者我错过了一些配置?

我正在使用AspectJ 1.7.4和AspectJ Maven插件1.4.

我已经收集了什么:

但是,我想知道这些信息是否是最新的.

spring aspectj

2
推荐指数
1
解决办法
1141
查看次数

标签 统计

aspectj ×1

elixir ×1

spring ×1