Весной через класс ApplicationContext я могу использовать функции IoC и получить ссылку на боб следующегоSpring IoC и Java EE
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. Мой вопрос: как загрузить функции IoC в автономное приложение с использованием Java EE?
EDIT Спасибо за помощь, ребята ... Я пошел с внедрением CDI OpenWebBeans ... Спасибо за помощь.
Привет, спасибо за ответ. Я пробовал это, но он все еще бросает исключение именования. «Необходимо указать имя класса в среде или системном свойстве или в качестве параметра апплета». – Barry
@Barry. В этом случае я боюсь, что вам нужно реализовать 'javax.naming.spi.InitialContextFactory' и поместить его в свойства System. Что-то совсем подобное я представил в обновленном ответе. – n1ckolas