Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在启动应用程序时使存储库延迟加载?_Java_Spring Mvc_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java 如何在启动应用程序时使存储库延迟加载?

Java 如何在启动应用程序时使存储库延迟加载?,java,spring-mvc,spring-boot,spring-data-jpa,Java,Spring Mvc,Spring Boot,Spring Data Jpa,在开发过程中,类的数量增加后,需要2分钟以上才能启动应用程序。我认为这会降低我们的开发效率 我发现,如果我们添加'lazyInit=true',如果我添加这个选项,大多数类将被延迟加载,但即使我添加了这个选项,存储库也会被加载 @ComponentScan(basePackageClasses = LazyApplication.class,lazyInit=true) @EnableAutoConfiguration( ) public class LazyApplication {

在开发过程中,类的数量增加后,需要2分钟以上才能启动应用程序。我认为这会降低我们的开发效率

我发现,如果我们添加'lazyInit=true',如果我添加这个选项,大多数类将被延迟加载,但即使我添加了这个选项,存储库也会被加载

@ComponentScan(basePackageClasses = LazyApplication.class,lazyInit=true)
@EnableAutoConfiguration(
)
public class LazyApplication {

    public static void main(String[] args) {
        SpringApplication.run(LazyApplication.class, args);
    }
}
实际上,我们的系统有300多个存储库和实体,所以如果可能的话,我也希望使存储库变懒

如何使我的存储库 启动应用程序时不会加载,而是在我首次访问存储库时加载?

您可以在配置类上使用注释来定义加载顺序。优先级最高的建议首先运行。数字越小,优先级越高。 e、 g


感谢您的建议,我尝试了这种方法,但在启动时间内仍无法加载存储库。也就是说,开始的时间还是一样的。
@Component
@Order(2)
public class MyRepo {
    public String getName() {
        return "some value";
    }
}