石家庄建网站,小白如何做网站建设公众号,鹿班设计网站官网,手机做任务的网站有哪些内容文章目录 前言1 Spring Boot 1.01.1 Spring Boot 1.0 特性 —— 专属的Spring事件1.1.1 背景1.1.2 原文解读 1.2 Spring Boot 1.0 特性 —— 外部化配置1.2.1 背景1.2.2 原文解读 1.3 前言
Spring Boot 2014正式发布1.0版本#xff0c;距今已经快10年了。看历史官方文档了解重… 文章目录 前言1 Spring Boot 1.01.1 Spring Boot 1.0 特性 —— 专属的Spring事件1.1.1 背景1.1.2 原文解读 1.2 Spring Boot 1.0 特性 —— 外部化配置1.2.1 背景1.2.2 原文解读 1.3 前言
Spring Boot 2014正式发布1.0版本距今已经快10年了。看历史官方文档了解重点feature, 帮助自己建立知识网络。 与 Spring 5 官网历史文档学习 一样尽量保证不误解文档作者的原意不好翻译的会有原文摘录包括一些专有名词并辅以自己的理解。限于篇幅原因只摘录工作中遇到过的或者是有兴趣的。
1 Spring Boot 1.0
Spring Boot 1.0 官方文档
1.1 Spring Boot 1.0 特性 —— 专属的Spring事件
专属的Spring事件 原文地址
1.1.1 背景
Spring Boot 基础知识排错或需要拓展Spring Boot的时候要考虑到这个
1.1.2 原文解读
在 ApplicationContext 创建完成之前会依次发生以下事件
ApplicationStartedEvent —— 在 listeners 和 initializers 注册完成。ApplicationEnvironmentPreparedEvent —— 还未创建 context但是其依赖的 Environment 已知。ApplicationPreparedEvent —— 在 refresh 之前bean 定义全部加载完成。ApplicationFailedEvent —— 启动失败。
实际开发中可能不会用到这些事件但是Spring Boot借助这些事件完成了许多功能。 You often won’t need to use application events, but it can be handy to know that they exist. Internally, Spring Boot uses events to handle a variety of tasks. 1.2 Spring Boot 1.0 特性 —— 外部化配置
外部化配置 原文地址
1.2.1 背景
实现一套代码在不同的环境部署。实现外部化配置的方法
propertiesYAML环境变量命令行参数
1.2.2 原文解读
外部化配置的元素还能注入到bean通过
ValueEnvironment 抽象
PropertySource 读取配置的顺序数字大的覆盖数字小的
命令行参数Java api System.getProperties()操作系统环境变量Configuration 标注的类又由 PropertySource 注入外部包下的 application.properties内部包下的 application.properties默认配置 SpringApplication.setDefaultProperties 实际应用自己的jar包提供默认实现自己是个starter生产项目依赖这个starter运行生产项目覆盖这个配置 值得注意的是配置文件的读取优先级
当前目录/config当前目录classpath 中的 /configclasspath 的根目录
Spring Boot 1.0 yml 文件的缺点
PropertySource 没法读到 YAML 的配置
ConfigurationProperties(nameconnection) 的使用
用于简化公共前缀的冗余与 yml 文件的思路一致connection:username: adminremoteAddress: 192.168.1.1Component
ConfigurationProperties(nameconnection)
public class ConnectionSettings {private String username;NotNullprivate InetAddress remoteAddress;// ... getters and setters}支持 JSR-303 NotNull 校验
1.3