Хорошая методика, которую некоторые библиотеки предоставляют по умолчанию, заключается в объединении последствий в черту.Таким образом, вы можете составлять наборы имплицитов, определяя черту, которая расширяет другие неявные черты связывания.И затем вы можете использовать его в верхней части вашего файла scala со следующим:
import MyBundleOfImplicits._
или быть более избирательным, смешивая его только там, где вам это нужно.с чем-то вроде JavaConversions, чтобы использовать этот метод, вам необходимо переопределить все импликации, которые вы хотите использовать внутри черты.
trait JavaConversionsImplicits {
import java.{lang => jl}
import java.{util => ju}
import scala.collection.JavaConversions
implicit def asJavaIterable[A](i : Iterable[A]): jl.Iterable[A] = JavaConversions.asJavaIterable(i)
implicit def asJavaIterator[A](i : Iterator[A]): ju.Iterator[A] = JavaConversions.asJavaIterator(i)
}
trait MyBundleOfImplicits extends JavaConversionsImplicits with OtherImplicits