如何在Spring或EE上重写Guice接口DI Injector.getInjectorgetInstanceInterface.class

问题描述

Guise可用于获取Interface.class的实例, 但是,如何在Java EE或Spring中为 Interface 获得相同的东西呢?

Testvar testvar = Injector.getInjector().getInstance(Interface.class)

解决方法

使用spring IoC容器是ApplicationContext。您可以这样直接请求。

ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
Interface myService = ctx.getBean(Interface.class);

或者您可以将其注入到您的组件中。

请记住,这是一个不好的做法。您永远不要直接请求容器。您应该让它为您解决依赖性。