spring-boot - spring boot 微服务应用程序 - 是否必须具有 main 方法
问题描述
我是 Spring Boot 微服务的新手。我用谷歌搜索了它。所有示例都使用以下方法
<pre>
public static void main(String[] args) {
SpringApplication.run(sample.class, args);
}
</pre>
商业项目是否也必须采用上述方法?
解决方案
任何可运行的 Java 程序或应用程序都必须具有main
方法。
在 Java 编程语言中,每个应用程序都必须包含一个 main 方法,其签名是:
public static void main(String[] args)
这在这个Hello World教程中有记录。Spring Boot 应用程序只是一个核心的 Java 应用程序,具有许多功能,使人们更容易制作微服务、其他类型的 Web 应用程序和库。
通常打包为在应用程序中执行部分任务的 jar 文件的库或共享代码不一定要有main
. 有时库确实有main
用于测试或示例的。每个类都可以有main
自己的一个。但是,应用程序只能从其中一个开始。另一个类中的main
方法可以像任何其他方法一样在正在运行的程序中被调用,但只有一个main
被调用来启动应用程序。
用于启动应用程序的main
方法通常称为入口点。Main-Class
如果在 jar 文件的清单中定义了一个类,那么main
该类中的方法将用作应用程序的入口点。系统JRE通常通过双击 jar 或通过 cli 命令(例如java -jar jarfilename.jar
.
因此,如果要将代码打包到应用程序使用的库中,则不需要main
. 如果您要创建一个独立的 Spring Boot 应用程序,您需要有一个main
. Spring Boot 框架将能够使用它main
来制作可运行的 jar 文件。
推荐阅读
- r - 堆栈值序列 x 次数
- php - 是否可以在单个查询中选择表 1 中的所有行和表 2 中的每一行元数据?
- deep-learning - 在带有 OpenCL 1.1 EP 的 Vivante GC2000 GPU 上是否有任何用于 CNN 的推理引擎?
- python - 如何检查对象是否存在(Selenium/Python)并执行 if-else
- javascript - 引导日期选择器禁用特定日期
- dagger-2 - 带有即时应用程序的匕首 2
- php - 如何将裁剪的图像从 Ajax 发送到 Symfony 控制器?
- r - ggplot (R) 中的第二个 Y 轴
- c++ - 为什么 cin 不在 for 循环中执行?
- python - Python - 如何通过其兄弟内容在 Selenium Webdriver 中查找元素?