SpringBoot2.x基础篇:使用CommandLineRunner或ApplicationRunner
如果你想要使用SpringBoot构建的项目在启动后运行一些特定的代码,那么CommandLineRunner、ApplicationRunner都是很好的选择。
如果你想要使用SpringBoot构建的项目在启动后运行一些特定的代码,那么CommandLineRunner、ApplicationRunner都是很好的选择。
我们在编写前后分离项目时,前端的项目一般需要静态资源(Image、CSS、JavaScript…)来进行渲染界面,而如果我们对外采用依赖的方式提供使用时,我们的静态资源文件也应该放入打包文件内,这样才能更便捷的提供我们的功能,在我的开源分布式日志框架 minbox-logging 内提供了管理界面的功能,就是采用的这种方式实现,将静态资源以及编译后的HTML页面存放到minbox-logging-admin-ui依赖内,下面我们来看下具体的实现方式。

SpringBoot在不断地版本迭代中陆续提供了不同的配置参数绑定的方式,我们可以单独获取一个配置参数也可以将一系列的配置映射绑定到JavaBean的属性字段,下面我们来看看这几种方式的配置绑定哪一种是你最常用到的。
YAML是一种用于指定层次结构配置数据的便捷格式,SpringBoot内部通过集成SnakeYAML来支持解析,那我们如果来使用YAML格式来代替Properties,我们需要了解每一种Properties对应YAML的配置代替方式。
SpringBoot约定了配置文件,默认为application.properties,通过该文件可以修改很多默认的配置,当然我们还可以在该配置文件内添加自定义的配置,该文件通过key=value的形式进行配置。
随机数的使用你是不是经常用到?我们在进行运行SpringBoot单元测试时一般不会指定应用程序启动时的端口号,可以在application.properties文件内配置server.port的值为${random.int(10000)},代表了随机使用0~10000的端口号。
既然这种方式使用这么方便,那你知道${random.int}是通过什么方式实现的吗?
SpringBoot提供了内部配置application.yml文件的方式来进行全局配置,还支持使用profiles来激活不同环境下使用不同的配置文件,而这种方式毕竟是已经打包完成了,因此存在一定的局限性,像数据库特殊敏感配置也可能存在泄露的风险,如何解决这种问题呢?我们来看看本章要讲到的外部配置的方式吧!!!