核心特性 (springdoc.cn)
# SpringApplication
通过 SpringApplication
类,你可以从 main()
方法中启动 Spring 应用程序。 在许多情况下,你可以直接调动 SpringApplication.run
静态方法,如以下例子所示。
import org.springframework.boot.SpringApplication; | |
import org.springframework.boot.autoconfigure.SpringBootApplication; | |
@SpringBootApplication | |
public class MyApplication { | |
public static void main(String[] args) { | |
SpringApplication.run(MyApplication.class, args); | |
} | |
} |
启动后会显示 INFO
级别的日志信息。
# 懒初始化
SpringApplication
允许应用程序被懒初始化。 当启用懒初始化时,Bean 在需要时被创建,而不是在应用程序启动时。 因此,懒初始化可以减少应用程序的启动时间。在一个 Web 应用程序中,启用懒初始化后将导致许多与 Web 相关的 Bean 在收到 HTTP 请求之后才会进行初始化。
缺点是会延迟发现应用程序的问题(因为加载的时候才能发现问题)。
可以使用 SpringApplicationBuilder
的 lazyInitialization
方法或 SpringApplication
的 setLazyInitialization
方法以编程方式启用懒初始化。 另外,也可以使用 spring.main.lazy-initialization
属性来启用,如下面所示:spring.main.lazy-initialization=true
如果你想禁用某些 Bean 的懒初始化,同时对应用程序的其他部分使用懒初始化,你可以使用
@Lazy(false)
注解将其Lazy
属性显式地设置为 false。
# 自定义 Banner
启动时打印的 Banner 可以通过在 classpath 中添加 banner.txt
文件或通过将 spring.banner.location
属性设置为该文件的位置来自定义。 如果该文件的编码不是 UTF-8,你可以通过 spring.banner.charset
属性设置其字符编码。
# 自定义 SpringApplication
如果 SpringApplication
的默认值不符合你的需求,你可以创建一个实例并对其进行自定义。 例如,要关闭 Banner,你可以这样写。
import org.springframework.boot.Banner; | |
import org.springframework.boot.SpringApplication; | |
import org.springframework.boot.autoconfigure.SpringBootApplication; | |
@SpringBootApplication | |
public class MyApplication { | |
public static void main(String[] args) { | |
SpringApplication application = new SpringApplication(MyApplication.class); | |
application.setBannerMode(Banner.Mode.OFF); | |
application.run(args); | |
} | |
} |
未完待续……