在 Spring 中,通过 ApplicationContext 类,我可以利用 IoC 功能并获得对 bean 的引用,如下所示
public class Driver {
public static void main(String args[])
{
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring-config.xml");
MyClass myClass = (MyClass)applicationContext.getBean("myClass");
}
我希望能够对 Java EE 做同样的事情,但我似乎无法在应用程序服务器之外。
我正在尝试以下
public class Driver {
public static void main(String args[])
{
InitialContext ic;
try {
ic = new InitialContext();
// JNDI lookup
MyClass myClass = (MyClass)ic.lookup("java:module/MyClass");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
到目前为止,通过这种方法,我得到了一个 javax.naming.NoInitialContextException。我的问题是如何在使用 Java EE 的独立应用程序中加载 IoC 功能?
编辑感谢您的帮助...我选择了 OpenWebBeans CDI 实现...感谢您的帮助。