- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 :
@SpringBootApplication
public class SpringbootLearningApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootLearningApplication.class, args);
}
}
当应用启动时, 你应该会看到类似下面的东西: 默认情况下会显示INFO级别的日志信息, 包括一些相关的启动详情, 比如启动应用的用户等.
通过在classpath下添加一个banner.txt或设置banner.location来指定相应的文件可以改变启动过程中打印的banner。如果这个文件有特殊的编码,你可以使用banner.encoding设置它(默认为UTF-8)。 在banner.txt中可以使用如下的变量
变量 | 描述 |
---|---|
application.version | MANIFEST.MF中声明的应用版本号, 例如1.0 |
application.formatted- version | MANIFEST.MF中声明的被格式化后的应用版本号(被括号包裹且以v作为前缀),用于显 示,例如(v1.0) |
spring-boot.version | 正在使用的Spring Boot版本号, 例如3.2.3 |
spring-boot.formatted-version | 正在使用的Spring Boot被格式化后的版本号(被括号包裹且以v作为前缀), 用于显示,例如(v3.2.3) |
注:如果想以编程的方式产生一个banner,可以使用SpringBootApplication.setBanner(…)方法。使用org.springframework.boot.Banner接口,实现你自己的printBanner()方法.
如果默认的SpringApplication不符合你的口味,你可以创建一个本地的实例并自定义它。例如,关闭banner你可以这样写:
@SpringBootApplication
public class SpringbootLearningApplication {
public static void main(String[] args) {
SpringApplication app =new SpringApplication(SpringbootLearningApplication.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
}
}
注:传递给SpringApplication的构造器参数是spring beans的配置源。在大多数情况下,这些将是@Configuration类的引用,但它们也可能是XML配置或要扫描包的引用.
除了常见的Spring框架事件,比如ContextRefreshedEvent,一个SpringApplication也发送一些额外的应用事件。一些事件实际上是在ApplicationContext被创建前触发的。 你可以使用多种方式注册事件监听器,最普通的是使用SpringApplication.addListeners(…)方法。在你的应用运行时,应用事件会以下面的次序发送:
注 :你通常不需要使用应用程序事件, 但知道它们的存在会很方便(在某些场合可能会使用到)。在Spring内部, Spring Boot使用事件处理各种各样的任务.
一个SpringApplication将尝试为你创建正确类型的ApplicationContext。在默认情况下,使用AnnotationConfigApplicationContext或AnnotationConfigEmbeddedWebApplicationContext取决于你正在开发的是否是web应用.
用于确定一个web环境的算法相当简单(基于是否存在某些类)。如果需要覆盖默认行为,你可以使用setWebEnvironment(boolean webEnvironment)。通过调用setApplicationContextClass(…),你可以完全控制ApplicationContext的类型.
注: 当JUnit测试里使用SpringApplication时,调用setWebEnvironment(false)是可取的.
如果你想获取原始的命令行参数,或一旦SpringApplication启动,你需要运行一些特定的代码,你可以实现CommandLineRunner接口。在所有实现该接口的Spring beans上将调用run(String … args)方法.
@Component
public class MyBean implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("启动前执行");
}
}
如果一些CommandLineRunner beans被定义必须以特定的次序调用, 你可以额外实现org.springframework.core.Ordered接口或使用org.springframework.core.annotation.Order注解.
每个SpringApplication在退出时为了确保ApplicationContext被优雅的关闭, 将会注册一个JVM的shutdown钩子。所有标准的Spring生命周期回调(比如, DisposableBean接口或@PreDestroy注解)都能使用.
此外, 如果beans想在应用结束时返回一个特定的退出码(exit code),可以实现org.springframework.boot.ExitCodeGenerator接口.
最后此篇关于从零开始学SpringBoot系列-SpringApplication的文章就讲到这里了,如果你想了解更多关于从零开始学SpringBoot系列-SpringApplication的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 : @S
我有以下类(class): package org.edgexfoundry.pkg; import org.springframework.boot.SpringApplication; impor
我正在开发 Spring Boot、MySQL、JavaFX、客户端服务器应用程序 - 没有网络 - 并且产生了令人惊讶的效果,尽管我没有更改 UI 中的任何实体,但我收到了一个 ObjectOpti
我使用 Maven 添加 spring-boot Artifact 作为依赖项。 SpringApplication class not found in spring-boot-starter-ac
我使用 Spring Starter 项目模板在 Eclipse 中创建了一个项目。 它自动创建了一个 Application 类文件,并且该路径与 POM.xml 文件中的路径匹配,所以一切正常。这
我们有一个 SpringApplication 可以在默认的 ApplicationContext 中正常运行,但是我们有一个场景,我们需要刷新上下文,而默认上下文不允许我们执行此操作。我已经将我们的
我可能遗漏了一些明显的东西,但我正在尝试弄清楚如何在运行应用程序时以编程方式设置/覆盖 Spring Boot SpringApplication 的属性。 默认情况下,我知道我可以将命令行参数传递给
在 SpringApplication.run 之后,Logback 不打印但 System.out.println 打印。我正在尝试打印出在上下文中加载的 bean。当然,我可以使用 System.
嘿,我是 spring 的新手,我正在尝试在我的 Applications.java 中运行多个运行方法。 import org.springframework.boot.autoconfigure.
我使用 STS 构建了一个 SpringBoot 2.1.5.RELEASE 应用程序。从 STS 运行良好。依赖项下载到我的 .m2 中。到目前为止一切看起来都很好。 此应用程序打包为 jar。我使
我试图在启动 SpringApplication 时获取我编写的所有 bean。 获取所有 列出的 bean 就完成了。这段代码做到了。 String[] beanNames = appContext
上下文:我有一个项目,其中包含一些实用程序来执行数据修复等操作。每个实用程序都是一个 Java 应用程序,即具有 main() 方法的类。我想将它们定义为 Spring Boot 应用程序,以便我可以
我想将Hibernate5插件设置为我的grails应用程序,我使用grails 3.1.1。我已经检查了这个问题,然后我遵循了它:How to configure Grails 3.1.1 to u
我有一个 spring boot 项目,在此之前我总是将它打包成一个 jar 文件并像这样运行它: java -jar myjar.jar 而现在我想把它转换成war包部署到tomcat中。我关注了这
我正在寻找答案,但没有找到。我以“hello world”风格编写了一个简单的应用程序,但无法运行它。我是 Spring Boot 的新手,我不知道出了什么问题。感谢您的帮助。 控制台: .
我是 Spring 的新人。我收到这个错误。这是我的日志: :: Spring Boot :: (v2.1.2.RELEASE) 2019-01-31 15:55:08.747
我正在尝试创建一个 spring mvc 应用程序。这是我的 pom.xml 4.0.0 com.acme test springmvc jar 1
我正在尝试创建一个 spring mvc 应用程序。这是我的 pom.xml 4.0.0 com.acme test springmvc jar 1
我已经很多年没有使用 Java 了,但现在我想使用 Java/Groovy 进行 Web 开发。 Spring Boot 似乎是目前最推荐用作框架的选项,因此我尝试按照pluralsight.com
这是我的 pom.xml 文件: 4.0.0 SpringBootGame SpringBootGame 1.0-SNAPSHOT
我是一名优秀的程序员,十分优秀!