Java 为什么Spring应用程序要花这么多时间来执行一个简单的代码
我正在学习spring框架,我在spring中做了一个基本的hello world程序,我检查了执行情况,它需要将近600毫秒的时间,是spring框架,速度非常慢,性能非常好,我们可以构建一个大型应用程序吗。这是密码Java 为什么Spring应用程序要花这么多时间来执行一个简单的代码,java,spring,Java,Spring,我正在学习spring框架,我在spring中做了一个基本的hello world程序,我检查了执行情况,它需要将近600毫秒的时间,是spring框架,速度非常慢,性能非常好,我们可以构建一个大型应用程序吗。这是密码 public class MainApp { @SuppressWarnings("resource") public static void main(String[] args) { long time=System.currentTimeMillis();
public class MainApp {
@SuppressWarnings("resource")
public static void main(String[] args) {
long time=System.currentTimeMillis();
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
System.out.println(obj.getMessage());
System.out.println("time in milliseconds"+System.currentTimeMillis()-
time);
}
}
我正在使用spring配置文件执行上述代码,以进行依赖项注入。为什么一个简单的代码要花这么多时间。这是输出
Nov 22, 2017 10:17:15 PM
org.springframework.context.support.ClassPathXmlApplicationContext
prepareRefresh
INFO: Refreshing
org.springframework.context.support.ClassPathXmlApplicationContext@78e03bb5:
startup date [Wed Nov 22 22:17:15 IST 2017]; root of context hierarchy
Nov 22, 2017 10:17:15 PM
org.springframework.beans.factory.xml.XmlBeanDefinitionReader
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [Beans.xml]
Hello World!
time in milliseconds 656
我在英特尔i3处理器和windows 8.1上运行上述程序 测试方法并不完全正确。在这个执行过程中,每次启动框架+从xml读取bean定义。考虑到加载+读取xml所需的代码量,656ms相当快
一旦启动,它将运行得更快。Beans.xml中有什么内容?Spring框架有很多工作要做,以促进依赖项注入和许多其他事情,这是它在启动时做的。因此,启动延迟。它还取决于您在beans.xmlYes中定义的bean的数量,上下文在应用程序启动时加载,然后再也不会加载。656毫秒不算什么。除了向一个拥有巨大市场份额的框架扔石头之外,你还应该在生活中做一些有用的事情。