1

我还不确定是否走错了路。Micronaut 入门页面上有一个 V8 引擎和注入车辆的示例。

考虑到这个例子。使用 Java 使用 Micronaut 实现“模型 A”的最直接方法是什么?如果没有直接的方法,那么与 Micronaut 最接近的放手方法是什么?

我用这样一个例子对香草场注入的简单看法是这样(使用Java),我将它标记为“模型A”......

A型

  import io.micronaut.context.*

  public class MyApp {                        // (A)

      @Inject 
      Vehicle vehicle;


      public void runApp( String... args ){

         println( vehicle.start() )
      }

      public static main( String... args ){

          //   whatever set-up and steps need   // (B)
          //   for auto-inject / auto-wiring.

          MyApp body = new MyApp( args  );

          body.runApp();                       // (C)
      }
  }

注释处理器使用的地方提供了@Singleton Vehicle此示例中的实例。或者在非singleton-s的情况下创建一个新的实例。

无论哪种方式,该过程的结果都是不需要编写代码来“实例化”代码或找到一个工厂来明确地这样做。

该示例本身继续演示我将标记为“模型 B”的方法(使用 Groovy)......

B型

  import io.micronaut.context.*
    ...
  Vehicle vehicle = BeanContext.run().getBean(Vehicle)

  println( vehicle.start() )

事实上,这不仅仅是写作:

  Vehicle vehicle = new Vehicle();

      //    OR

  Vehicle vehicle = Vehicle.getInstance();

对于某些库,您需要初始化范围或上下文,我明白了。问题归结为我必须做什么才能注入 Vehicle,如我的代码所示。

我做了一个@Singleton并尝试到@Inject该领域。引用为 NULL。然后我做了一个@Provider并设置了一个断点。那不叫。

  • 我可以做“模型A”吗?
  • 如果是,需要做什么?

我浏览了很多做伟大事情的例子。我也很想涉足那些花哨的东西。现在我在地下室寻找通往一楼的路。非常感谢您的指导。

4

0 回答 0