Java 如何在组件扫描元素中指定lazy init?

Java 如何在组件扫描元素中指定lazy init?,java,spring,lazy-initialization,Java,Spring,Lazy Initialization,在继承的java应用程序中,有许多java类是由@component注释初始化的 尝试运行应用程序时,初始化会花费大量时间(>1分钟)。我如何将此最小化 我尝试使用默认的lazy init=“true”-这无助于减少初始化时间 @惰性注释可能被添加到已添加的类中-有太多的类&手动将此注释添加到所有类中并不是我想要做的事情。更重要的是,其中一个包很常见&我不知道延迟加载类对其他应用程序的影响 在SpringXML中,有三个组件扫描 <context:component-scan base-p

在继承的java应用程序中,有许多java类是由@component注释初始化的

尝试运行应用程序时,初始化会花费大量时间(>1分钟)。我如何将此最小化

  • 我尝试使用默认的lazy init=“true”-这无助于减少初始化时间
  • @惰性注释可能被添加到已添加的类中-有太多的类&手动将此注释添加到所有类中并不是我想要做的事情。更重要的是,其中一个包很常见&我不知道延迟加载类对其他应用程序的影响
  • 在SpringXML中,有三个组件扫描

    <context:component-scan base-package="com.java.package1" />
    <context:component-scan base-package="com.java.package2" />
    <context:component-scan base-package="com.java.package3" />
    
    
    
    是否有某种方法可以编写一行或两行代码,以惰性加载方式初始化@Component注释类


    更好的是,还有什么可以减少初始化时间的方法吗?

    您应该首先衡量一下什么花费了这么多时间。我的猜测是实例化组件不是问题所在。相反,访问磁盘、读取许多jar文件、打开数据库连接需要时间。与bean初始化相比,DB连接不会花费太长的时间。