学习 Guice(三):Spark 切面编程实践

定义注解 用于标注需要启用测量 Spark 指标的方法 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface EnableMeasure {} 定义方法拦截器 class MeasureInterceptor extends MethodInterceptor { @Inject private var spark: SparkSession = _ override def invoke( »

学习 Guice(二):Spark 依赖注入实践

绑定 class ApplicationModule(spark: SparkSession, date: LocalDate) extends AbstractModule { override def configure(): Unit = { bind(classOf[SparkSession]).toInstance(spark) // ① bind(classOf[Source]).to(classOf[SourceImpl]) // ② bind(classOf[ »