我有一个Spring Web项目,需要在应用程序上下文初始化后加载一些类,因为这些类最终将在未来使用。因此,我尝试在使用之前预先加载它们以提高性能。
如何做到这一点?
请帮忙。
谢谢。
我有一个Spring Web项目,需要在应用程序上下文初始化后加载一些类,因为这些类最终将在未来使用。因此,我尝试在使用之前预先加载它们以提高性能。
如何做到这一点?
请帮忙。
谢谢。
为了将一个类加载到JVM中,只需要调用Class.forName('com.foo.bar.MyClassToPreLoad')
方法即可。您可以在javax.servlet.ServletContextListener
的自己实现中执行此操作,然后在web.xml中注册它。
<listener>
<listener-class>com.foo.bar.MyClassPreloadingContextListener</listener-class>
</listener>
您可以在任何实现org.springframework.beans.factory.InitializingBean
接口的Spring bean中执行此操作。或者,如果您不想实现接口,您可以在没有参数的任何bean方法中执行它,并将其注册为此bean的init-method:
<bean class="com.foo.bar.MyClassPreloadingBean" init-method="preloadClasses"/>