Spring

您所在的位置:网站首页 environments怎么读 Spring

Spring

2023-11-29 06:25| 来源: 网络整理| 查看: 265

一、Environment

  用来表示整个应用运行时的环境,为了更形象地理解Environment,你可以把Spring应用的运行时简单地想象成两个部分:一个是Spring应用本身,一个是Spring应用所处的环境。   Environment在容器中是一个抽象的集合,是指应用环境的2个方面:profiles和properties。

1. Profile

  profile配置是一个被命名的、bean定义的逻辑组,这些bean只有在给定的profile配置激活时才会注册到容器。不管是XML还是注解,Beans都有可能指派给profile配置。Environment环境对象的作用,对于profiles配置来说,它能决定当前激活的是哪个profile配置,和哪个profile是默认。

一个profile就是一组Bean定义的逻辑分组。 这个分组,也就 这个profile,被赋予一个命名,就是这个profile名字。 只有当一个profile处于active状态时,它对应的逻辑上组织在一起的这些Bean定义才会被注册到容器中。 Bean添加到profile可以通过XML定义方式或才annotation注解方式。 Environment对于profile所扮演的角色是用来指定哪些profile是当前活跃的缺省。 2. Properties

  properties属性可能来源于properties文件、JVM properties、system环境变量、JNDI、servlet context parameters上下文参数、专门的properties对象,Maps等等。Environment对象的作用,对于properties来说,是提供给用户方便的服务接口、方便撰写配置、方便解析配置。

配置属性源。 从属性源中获取属性。 容器(ApplicationContext)所管理的bean如果想直接使用Environment对象访问profile状态或者获取属性,可以有两种方式 (1)实现EnvironmentAware接口。 (2)@Inject或者@Autowired一个Environment对象。 绝大数情况下,bean都不需要直接访问Environment对象,而是通过类似@Value注解的方式把属性值注入进来。 二、具体使用

1.可以通过 @Autowired织入Environment

@Autowired private Environment environment;

2.可以通过实现 implements EnvironmentAware 然后实现接口中的方法

@Setter private Environment environment;

3.常用功能 获取属性配制文件中的值

environment.getProperty("rabbitmq.address") 获取是否使用profile的 public boolean isDev(){ boolean devFlag = environment.acceptsProfiles("dev"); return devFlag; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3