加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘孜站长网 (https://www.0836zz.com.cn/)- 运维、物联设备、数据计算、智能推荐、云管理!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

文化产业发展新趋势

发布时间:2021-02-06 19:00:41 所属栏目:外闻 来源:互联网
导读:在 LoginUserConfig 类的源代码中,通过@ConfigurationProperties 注解指定在实例化时将前缀为 user 的配置属性绑定到 LoginUserConfig 类的对应属性上,而通过@Component将该类实例化。 这 里 由 于 指 定 配 置 文 件 为 dev , 则 会 将 上 述 dev 配 置

在 LoginUserConfig 类的源代码中,通过@ConfigurationProperties 注解指定在实例化时将前缀为 user 的配置属性绑定到 LoginUserConfig 类的对应属性上,而通过@Component将该类实例化。

这 里 由 于 指 定 配 置 文 件 为 dev , 则 会 将 上 述 dev 配 置 文 件 中 的 user.username 和user.password 的值分别绑定到 LoginUserConfig 类的 username 和 password 属性上。而在 ConfigController 中注入 之后, 便可获 得对应的属 性值。同样在 执行请求时 ,getConfigParams 方法中对应打印的日志如下。

  • ConfigurationProperties config Username : test - admin
  • ConfigurationProperties config Password : test- pwd

上述实例只演示了@ConfigurationProperties 绑定属性的一种情况,Spring Boot 将 Environment 属性绑定到@ConfigurationProperties 标注的 Bean 时,还可以使用一些宽松的规则,也就是说 Environment 属性名和 Bean 属性名不需要精确匹配。

比如在对象 User 中有一-个 firstName 属性,那么在配置文件中对应如下配置项均会匹配。

  • user. firstName // 标准驼峰命名语法
  • user. first-name // 短横线隔开表示,推荐用于. properties 和. yml 文件中
  • user. first_ name // 下划线表示,用于. properties 和 yml 文件的可选格式
  • USER_ FIRST _NAME //大写形式,推荐用于系统环境变量

如果想激活生产环境的配置,只须在 application.properties 中配置spring.profiles. active=prod 即可。

@Value 参数值的获取和基于 Profile 的参数配置我们就拓展这么多,@Value 的使用还包括注入普通字符串、操作系统属性、表达式结果、文件资源、URL 资源等内容,大家可查阅官方文档和相关实例进一步学习。

在上述@Value 使用中,我们可以对单个属性进行注入配置,但如果有很多配置属性或者配置属性本身拥有层级结构,便显得不够方便灵活。因此,Spring Boo 提供了基于类型安全的配置方式。

在 ConfigController 中我们通过@Resource 注入了一个 LoginUserConfig 类,该类便是通过@ConfigurationProperties 注解将 properties 属性和 LoginUserConfig 的属性进行关联,从而实现类型安全配置。LoginUserConfig 的源码如下。
 

其中“prod”对照文件名中 application-prod.properties。Spring Boot 在处理时会获取配置文件 applcation.properties, 然 后 通 过 指 定 的 profile 的 值 “prod" 进 行 拼 接 , 获 得application-prod.properties 文件的名称和路径。 具体加载拼接的步骤和原理,我们在前面的章节中已经讲过,可对照实例回顾一下。

在上述实例中,我们激活了 dev 的配置环境,application-dev.properties 中的配置如下。
 

但在实践的过程中,我们经常会遇到不同环境需要不同配置文件的情况,如果每换一-个环境就重新修改配置文件或重新打包一次会比较麻烦,这时就可以用 Spring Boot 提供的Profile 配置功能来解决问题了。而我们实例中提供的 3 个 properties 配置文件就是为了展示 Profile 配置的基本使用。

通常情况下,项目中根据环境的多少会创建 1 个到多个 properties 配置文件,一般情况下它们对应的命名格式和相关功能如下。

  • *applcation.properties:公共配置。
  • *application-dev.properties:开发环境配置。
  • .application-test.properties:测试环境配置。
  • application-prod.properties:生产环境配置。

当然,命名中的“dev'"test 和"prod”是可以自定义的,而这些配置在什么时候会被使用,则可通过激活 application.properties 配置文件中的 spring.profiles. active 参数来控制。

比如,在 applcation.properties 中进行公共配置, 然后通过如下配置激活指定环境的配置。

 

(编辑:甘孜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读