如何找到Spring Boot应用程序的入口点?

时间:2019-04-22 11:41:09

标签: java spring spring-boot

Spring Boot应用程序的入口是什么?

在查看Spring Boot应用程序代码时,它只说说有一个公共静态void主目录,该主目录具有-SpringApplication.run(Application.class,args)-示例-SpringBoot2RestServiceApplication.java。但是,仅通过遍历代码,如何了解切入点是什么。之前,如果我们遍历applicationContext.xml-示例-applicationContext.xml,我们可以理解流程。

有什么方法或标准可以使这种理解不言自明?

3 个答案:

答案 0 :(得分:2)

最简单的方法可能是在代码中搜索@SpringBootApplication

但是,获取此信息的一种可靠方法是构建Spring Boot JAR。从那里,您可以打开生成的JAR,并在清单的META-INF/MANIFEST.MF下找到清单中定义的主类。您会在Start-Class属性下看到它:

Start-Class: com.example.foo.Application

答案 1 :(得分:1)

我认为OP正在研究现有的Spring Boot应用程序,并询问如何定位任何运行程序,例如应用程序运行程序,命令行运行程序,MVC控制器,Rest控制器等。

我不知道是否有找到这些对象的简便方法,除非它们在原始设计中组合在一起。

通过编程来完成是一个难题,因为线程可以在Spring外部启动,例如在构造函数或@PostConstruct中启动。

如果有IDE支持可以轻松定位Spring Boot启动的任何内容,那将是很好的选择

答案 2 :(得分:-1)

在项目中搜索@SpringBootApplication批注,带有@SpringBootApplication批注的类将自动对子包进行组件扫描。

如果未找到@SpringBootApplication批注,请搜索扩展“ SpringBootServletInitializer”的类,这也是Spring Boot应用程序的起点