【发布时间】:2009-05-21 15:25:52
【问题描述】:
我想要一个类似于 spring 的 ContextLoader/ContextLoaderListener/ContextLoadServlet 的类。这些类在应用服务器初始化并将您配置的上下文放入内存时被调用。
对于没有容器包装的应用程序,这有什么类比?
这将排除多个实例化,提供统一的检索位置,并且也不会遭受双重检查锁定跛脚。
【问题讨论】:
我想要一个类似于 spring 的 ContextLoader/ContextLoaderListener/ContextLoadServlet 的类。这些类在应用服务器初始化并将您配置的上下文放入内存时被调用。
对于没有容器包装的应用程序,这有什么类比?
这将排除多个实例化,提供统一的检索位置,并且也不会遭受双重检查锁定跛脚。
【问题讨论】:
可以在此处找到替代解决方案:
Simple Spring, use of ClasspathApplicationContext for standalone apps, how to reuse?
用于使用 SingletonBeanFactoryLocator。
【讨论】:
经典的是ClassPathXmlApplicationContext:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.scripting.Messenger;
public final class Boot {
public static void main(final String[] args) throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("scripting/beans.xml");
Messenger messenger = (Messenger) ctx.getBean("messenger");
System.out.println(messenger);
}
}
查看更多here
【讨论】: