<dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jcdi_1.0_spec</artifactId> <version>1.1.1</version> </dependency> import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; @ApplicationScoped public class MyService { @Inject private MyDao myDao; public void doSomething() { // ... } } import org.apache.webbeans.spi.ContainerLifecycle; public class CDIContainer { private static ContainerLifecycle lifecycle; public static void startContainer() { lifecycle = WebBeansContext.currentInstance().getService(ContainerLifecycle.class); lifecycle.startApplication(new BeanManagerProvider() { @Override protected BeanManager createBeanManager() { return CDI.current().getBeanManager(); } }); } public static void stopContainer() { if (lifecycle != null) { lifecycle.stopApplication(null); lifecycle = null; } } } public class MyApp { public static void main(String[] args) { CDIContainer.startContainer(); MyService myService = CDI.current().select(MyService.class).get(); myService.doSomething(); CDIContainer.stopContainer(); } }


上一篇:
下一篇:
切换中文