springapplicationevent_Spring bean

springapplicationevent_Spring bean相信使用过SpringBoot的开发人员,都对SpringBoot的核心模块中提供的SpringApplication类不陌生。SpringApplication类的run()方法往往在Spring应用的入口类中被调用,以启动Spring应用。1.Spring应用的入口类与SpringApplication类1)Spring应用的入口类Spring应用的入口类是Spring应用的配置起点,是配置Spring上下文的起点,往往使用了@SpringBootApplication或@EnableA

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

相信使用过Spring Boot的开发人员,都对Spring Boot的核心模块中提供的SpringApplication类不陌生。SpringApplication类的run()方法往往在Spring应用的入口类中被调用,以启动Spring应用。

1.Spring应用的入口类与SpringApplication类
1) Spring应用的入口类

Spring应用的入口类是Spring应用的配置起点,是配置Spring上下文的起点,往往使用了@SpringBootApplication或@EnableAutoConfiguration等标注类。

在Spring应用的入口类中往往只有一个main()方法,这虽然与标准的Java应用保持了一致,但在有些时候会让开发人员觉得困惑。

在Spring应用的入口类中的main()方法中,往往只是简单地调用Spring Boot的SpringApplication类的run()方法,以启动该Spring应用。

SpringApplication.run(MySpringConfigurationApp.class, args);

其中,第一个参数MySpringConfigurationApp.class就是Spring应用的入口类;第二个参数args是启动Spring应用的命令行参数,该参数可以在Spring应用中被访问(稍后详解)。

2) Spring Boot的SpringApplication类

Spring Boot的SpringApplication类,用以启动一个Spring应用,实质上是为Spring应用创建并初始化Spring上下文。

SpringApplication类的run()方法默认返回一个ConfigurableApplicationContext对象。

2. SpringApplication类的其他配置

banner.txt以定制启动LOGO
禁用LOGO
SpringApplication app = new SpringApplication(MySpringConfigurationApp.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);

启动过程中的可监听事件
ApplicationStartingEvent
ApplicationEnvironmentPreparedEvent
ApplicationPreparedEvent
ApplicationReadyEvent或ApplicationFailedEvent
3. 增强SpringApplication类的CommandLineRunner接口或ApplicationRunner接口

启动Spring应用后,如果还想进一步执行其他代码,可以定义Spring bean类以实现CommandLineRunner接口或ApplicationRunner接口。

CommandLineRunner接口或ApplicationRunner接口都只提供了唯一的run()方法,该方法将在SpringApplication.run()方法执行结束前被调用。

1) CommandLineRunner接口能够以String数组的形式访问Spring应用的启动参数args

@Component
public class MyBean implements CommandLineRunner {

    public void run(String… args) {

        // Do something…
    }
}

2) ApplicationRunner接口能够以ApplicationArguments的形式访问应用的参数args

@Component
public class MyBean implements ApplicationRunner{

    public void run(ApplicationArguments args) {

        // Do something…
    }
}

4. 在Spring bean中,通过构造函数访问Spring应用的启动参数args
@Component
public class MyBean {

  @Autowired
  public MyBean(ApplicationArguments args) {

    boolean debug = args.containsOption(“debug”);//参数作为命令行中的一个option,如–debug
    List<String> files = args.getNonOptionArgs();
    // 如果启动参数”–debug logfile.txt”,
    // 则debug=true, files=[“logfile.txt”]
  }
}
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197640.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java长轮询「建议收藏」

    java长轮询「建议收藏」在服务端向页面主动推送消息的业务场景下,有长轮训和websocket两种思路。springboot和websocket使用:https://blog.csdn.net/u014203449/article/details/102902078现在看看长轮询:设想一个业务场景:A用户打开页面,要求实时刷新数据,B用户操作新增数据,A页面刷新。1.页面长轮询的做法是,A用户打…

    2022年10月14日
  • Ubuntu卸载图形界面

    Ubuntu卸载图形界面1、打开终端(快捷键Ctrl+Alt+t)2、卸载gnome-shell主程序sudoapt-getremovegnome-shell3、卸载掉gnomesudoapt-getremovegnome4、卸载不需要的依赖关系sudoapt-getautoremove5、彻底卸载删除gnome的相关配置文件sudoapt-getpu…

  • wireshark网络安全分析工具之万文多图详解(持续更新)[通俗易懂]

    wireshark网络安全分析工具之万文多图详解(持续更新)[通俗易懂]1.基本介绍2.下载与安装3.详细教程3.1软件界面介绍3.1.1菜单栏3.1.2工具栏3.1.3数据包列表区3.1.4数据包详细区3.1.5数据包字节区3.2Wireshark过滤器3.2.1捕获过滤器3.2.2显示过滤器3.3过滤规则3.3.1语法讲解3.3.2过滤实例4.实战案例

  • 多模型融合权重如何训练_单因子模型

    多模型融合权重如何训练_单因子模型本篇文章有别于传统的多因子研究,我们并未将重点放在阿尔法因子的挖掘上,而是通过对股票组合的权重优化计算,找到了在市值中性、行业中性、风格因子中性约束下的最优投资组合,以及验证得到的组合权重是否满足了约束条件。结构化多因子风险模型首先对收益率进行简单的线性分解,分解方程中包含四个组成部分:股票收益率、因子暴露、因子收益率和特质因子收益率。那么,第只股票的线性分解如下所示:rj=x1f1+x2f2+x3f3+x4f4⋅⋅⋅⋅xKfK+ujr_j=x_1f_1+x_2f_2+x_3f_3+x_4f_4···

  • 我的世界java手机_我的世界java手机版

    我的世界java手机_我的世界java手机版我的世界java手机版是一款非常好玩的模拟经营游戏,游戏非常的自由,你几乎可以在游戏中干任何事,你可以自己建造一个世界,或是制作一个像素版的动漫人物,你还可以探索这个世界,寻找资源,你还可以和好友一起在这里进行对抗,你还在等什么,赶快来体验吧!我的世界java手机版游戏特色没有华丽的画面,没有什么游戏特效但是它最大的优势就是在于它的游戏性玩家在一个完全开放的世界,可以完全按照自己的想法建造我的世界…

  • spring配置文件详解_jedis连接redis集群

    spring配置文件详解_jedis连接redis集群[b]JedisCache[/b][code="java"]importjava.io.IOException;importjava.util.Set;importorg.springframework.beans.factory.InitializingBean;importorg.springframework.util.Assert;importre…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号