springboot profiles,spring的profile使用详解

  springboot profiles,spring的profile使用详解

  

目录

弹簧靴与轮廓静态获取方式自动布线配置文件配置

 

  

spring boot与profile

弹簧靴的项目中不再使用可扩展标记语言的方式进行配置,并且,它还遵循着约定大于配置。

 

  

静态获取方式

静态工具类获取当前项目的轮廓环境。

 

  导入org。spring框架。豆子。beans异常;导入org。spring框架。语境。应用程序上下文;导入组织。spring框架。语境。applicationcontextaware导入org。spring框架。刻板印象。组件;导入Java。util。区域设置;/* * * */* * * * @作者王九洲(835540436@qq.com)* @日期2018/10/27 *项目名称: * 类名: SpringContextUtil *描述:获取豆的工具类,可用于在线程里面获取bean */@Componentpublic类SpringContextUtil实现ApplicationContextAware { public static final String LOCAL _ PROFILE= LOCAL ;公共静态最终字符串DEV _ PROFILE= dev公共静态最终字符串TEST _ PROFILE=测试公共静态最终字符串PRO _ PROFILE= pro私有静态应用程序上下文上下文=null/*(非javadoc)* @ title : setApplicationContext * @ description : spring获取豆工具类* @ param应用程序上下文* @抛出beans异常* @ see org。spring框架。语境。applicationcontextaware # setApplicationContext(org。spring框架。语境。应用上下文)*/@ Override public void setApplicationContext(应用上下文应用上下文)抛出beans异常{ context=应用上下文;} //传入线程中public static T get bean(字符串bean名称){ return(T)context。获取bean(bean名称);} //国际化使用公共静态字符串getMessage(字符串关键字){返回上下文。getMessage(关键字,空值,区域设置。get default());} //获取当前环境公共静态字符串getActiveProfile(){返回上下文。获取环境().getActiveProfiles()[0];}}点评:

  这种方式在使用起来很方便也是现在各个博客文章所撰写的方式,在很多服务的业务代码中使用起来很方便,毕竟是静态的方式嘛!

  但是有一种缺陷,因为实现ApplicationContextAware接口,而弹簧中的这个接口是在所有的豆注入完毕,才会执行setApplicationContext方法,那么问题来了,往往在项目中我们可能会对一些豆进行一些配置操作,例如:@Bean注入,而有时候我们会根据不同的轮廓进行不同的定制化配置。这个时候恰恰我们的工具类SpringContextUtil还没有执行setApplicationContext此时工具类中的语境对象还是零。就会出现异常的情况。下面的方式可以弥补这个缺陷。

  

autowire ProfileConfig

使用这种方式首先声明一下,其实就相当于一个特殊的configBean一样,因为只有这样,这个类才不会在所有豆全部加载完毕后才能获取到背景。

 

  导入org。spring框架。豆子。工厂。注释。自动连线;导入org。spring框架。语境。应用程序上下文;导入org。spring框架。语境。注释。配置;/* * * * @作者王九洲(835540436@qq.com)* @日期2018/11/07 * *获取当前项目环境:local、dev、test、pro */@ configuration public class PROFILE config { public static final String LOCAL _ PROFILE= LOCAL ;公共静态最终字符串DEV _ PROFILE= dev公共静态最终字符串TEST _ PROFILE=测试公共静态最终字符串PRO _ PROFILE= pro@ auto有线专用应用程序上下文上下文;公共字符串getActiveProfile(){返回上下文。获取环境().getActiveProfiles()[0];}}点评:

  ProfileConfig,首先是作为一个相当于豆的形式存在着,此处的不在解释@配置和@组件的区别;

  注入应用程序上下文因为该接口延伸于环保,所以可以获取到环境的一些信息;

  以上是在跳靴中获取轮廓的方法的详细内容。更多关于在SpringBoot获取profile的信息,请关注popular IT的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: