当前位置: 首页 > news >正文

做网站的市场有那么大吗企网官方网站

做网站的市场有那么大吗,企网官方网站,企业品牌宣传片制作,深圳网页设计兴田德润放心Spring运行环境 Spring在创建容器时#xff0c;会创建Environment环境对象#xff0c;用于保存spring应用程序的运行环境相关的信息。在创建环境时#xff0c;需要创建属性源属性解析器#xff0c;会解析属性值中的占位符#xff0c;并进行替换。 创建环境时#xff0c…Spring运行环境 Spring在创建容器时会创建Environment环境对象用于保存spring应用程序的运行环境相关的信息。在创建环境时需要创建属性源属性解析器会解析属性值中的占位符并进行替换。 创建环境时会通过System.getProperties()获取JVM系统属性会通过System.getenv()获取JVM环境属性。 Environment在Spring中的使用 spring在创建容器时需要指定需要加载配置文件路径在加载配置文件路径时需要解析字符串中的占位符。解析占位符时需要环境信息此时会创建一个标准的spring运行环境即创建StandardEnvironment对象。 1、调用setConfigLocations方法给spring设置需要加载的配置文件的路径源码如下 // 将配置文件的路径放到configLocations 字符串数组中 public void setConfigLocations(Nullable String... locations) {if (locations ! null) {Assert.noNullElements(locations, Config locations must not be null);// 设置了几个配置文件就创一个多长的字符串数组用来存放配置文件的路径this.configLocations new String[locations.length];for (int i 0; i locations.length; i) {//解析路径将解析的路径存放到字符串数组中this.configLocations[i] resolvePath(locations[i]).trim();}}else {this.configLocations null;} }2、调用resolvePath方法解析配置文件路径中的占位符源码如下 // 解析给定的路径必要时用相应的环境属性值替换占位符。应用于配置位置。 protected String resolvePath(String path) {// 获取环境解决所需的占位符return getEnvironment().resolveRequiredPlaceholders(path); }3、调用getEnvironment方法获取环境信息如果没有指定spring的环境信息通过createEnvironment获取默认的环境也就是spring的标准环境。getEnvironment方法源码如下 // 获取spring的环境信息如果没有指定获取到的时默认的环境 Override public ConfigurableEnvironment getEnvironment() {if (this.environment null) {this.environment createEnvironment();}return this.environment; }4、调用createEnvironment方法获取默认的环境spring的标准环境使用StandardEnvironment无参构造创建对象。源码如下 // 获取默认的环境 protected ConfigurableEnvironment createEnvironment() {return new StandardEnvironment(); }Spring的标准环境StandardEnvironment Spring的标准环境StandardEnvironment适合在非web应用程序中使用。 在AbstractApplicationContext类的createEnvironment方法中会调用StandardEnvironment的无参构造方法创建环境对象。 1、调用StandardEnvironment的无参构造方法该方法中没有任何逻辑处理源码如下 public StandardEnvironment() {}2、StandardEnvironment类是AbstractEnvironment抽象类的子类因此使用StandardEnvironment的无参构造创建对象时会调用父类AbstractEnvironment的无参构造方法。AbstractEnvironment在下文中有描述。 3、重写AbstractEnvironment类中的customizePropertySources方法用于设置属性源该方法通过父类进行回调。 该方法会获取JVM系统属性和环境属性并设置到MutablePropertySources类中存放属性源的CopyOnWriteArrayList中。 1JVM系统属性通过System.getProperties()获取 2环境属性通过System.getenv()获取。 StandardEnvironment类中customizePropertySources方法源码如下 // 设置属性源JVM系统属性中的属性将优先于环境属性中的属性。 Override protected void customizePropertySources(MutablePropertySources propertySources) {/*** 1、MutablePropertySources类中使用CopyOnWriteArrayList存储属性源集合中存储PropertySource的子类* 2、PropertiesPropertySource是PropertySource的子类PropertySource类中有三个成员变量* 1logger日志对象* 2name用来保存属性源名称* 3source用来保存属性源中的属性*/// getSystemProperties()通过System.getProperties()获取JVM属性键值对并转成MappropertySources.addLast(new PropertiesPropertySource(SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, getSystemProperties()));// getSystemEnvironment()通过System.getenv()获取环境属性键值对并撰成MappropertySources.addLast(new SystemEnvironmentPropertySource(SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, getSystemEnvironment())); }4、StandardEnvironment类中设置了两个静态常量 1systemEnvironment以系统环境为属性源 2systemProperties以JVM系统属性为属性源 /** System environment property source name: {value}.* 系统环境属性源名:{value}。 */ public static final String SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME systemEnvironment;/** JVM system properties property source name: {value}.* JVM系统属性属性源名称:{value}。*/ public static final String SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME systemProperties;Spring的抽象环境AbstractEnvironment StandardEnvironment类是AbstractEnvironment抽象类的子类因此使用StandardEnvironment的无参构造创建对象时会调用父类AbstractEnvironment的无参构造方法。 1、AbstractEnvironment的无参构造方法该方法会调用AbstractEnvironment的有参构造方法源码如下 public AbstractEnvironment() {this(new MutablePropertySources()); }2、AbstractEnvironment的有参构造 该方法的主要做三件事 1给成员变量赋值 2创建属性源属性解析器 3调用子类重写的customizePropertySources方法方法回调。虽然方法回调在成员变量的赋值之后但由于是引用传递所以通过成员属性可以获取到改变之后的值。 // 使用了模板方法设计模式。 // 给成员变量赋值并调用子类重写的方法对propertySources进行操作。 protected AbstractEnvironment(MutablePropertySources propertySources) {// 给全局变量 可变属性源 赋值this.propertySources propertySources;// 创建属性解析器PropertySourcesPropertyResolver 属性源属性解析器this.propertyResolver createPropertyResolver(propertySources);// 自定义属性源此处回调子类重写的方法。子类通过重写该方法可以操作propertySources。spring标准环境StandardEnvironment重写了该方法customizePropertySources(propertySources); }3、调用createPropertyResolver创建属性解析器用于解析属性值中的占位符并进行替换。 // 在创建环境时需要创建属性解析器 protected ConfigurablePropertyResolver createPropertyResolver(MutablePropertySources propertySources) {return new PropertySourcesPropertyResolver(propertySources); }4、AbstractEnvironment的成员属性 // 指示Spring忽略系统环境变量,默认值为false。 // false表示不会忽略系统环境变量此时getSystemEnvironment方法会调用System.getenv()获取环境属性 // true表示会忽略系统的环境变量此时getSystemEnvironment方法会返回一个空的Map public static final String IGNORE_GETENV_PROPERTY_NAME spring.getenv.ignore;// 指定系统启动时使用哪些配置文件可以使用逗号隔开 public static final String ACTIVE_PROFILES_PROPERTY_NAME spring.profiles.active;// 指定系统启动时使用默认的配置文件可以使用逗号隔开 public static final String DEFAULT_PROFILES_PROPERTY_NAME spring.profiles.default;// 保留的默认的配置文件的名称如果没有显式设置默认配置文件名称也没有显式设置活动配置文件名称则默认情况下该配置文件将自动激活。 protected static final String RESERVED_DEFAULT_PROFILE_NAME default;// 日志对象 protected final Log logger LogFactory.getLog(getClass());//系统启动时使用的配置文件 private final SetString activeProfiles new LinkedHashSet();// 默认配置文件 private final SetString defaultProfiles new LinkedHashSet(getReservedDefaultProfiles());// 可变属性源使用该成员变量保存属性源及通过该属性源获取的属性 private final MutablePropertySources propertySources;// 可配置的属性解析器 private final ConfigurablePropertyResolver propertyResolver;
http://www.dnsts.com.cn/news/103138.html

相关文章:

  • 温州微网站制作电话刀客源码网
  • 浦东手机网站建设青岛公司建站
  • 票务网站做酒店推荐的目的杭州行业网页设计公司
  • .net网站 作品网站系统繁忙
  • 广州网站定制开发网站建设公司不挣钱的原因
  • 做餐饮网站直播软件推荐
  • 电商网站建设培训班网站建设开题报告中的问题
  • 办公用品网站建设可行性分析江门网站优化方案
  • 做陶瓷的公司网站计算机培训机构排名前十
  • 哪里有制作网站服务怎样做才能发布你的网站
  • 网站空间申请开通怎么创建游戏平台
  • 名字做头诗的网站北京网站制作与网站设计
  • 广东省建设工程安全协会网站南宁刚刚发生的事
  • php网站数据迁移青州市住房和城乡建设局网站
  • 上海 网站建设公司更换网站需要怎么做
  • 泰州网站建设开发网页链接提取
  • 蓝色网站模版济南最好的网站制作公司
  • 教育类网站开发文档wordpress显示同一分类的文章
  • 怎么找到php网站的首页面html如何提交网站给百度
  • 网站的结构是什么样的做亚马逊学英语有什么网站吗
  • 网站的切换语言都是怎么做的济南 网站 建设
  • 网页设计作业网站素材和效果图什么是网络营销传播
  • 凡科怎么做网站网站用什么系统好
  • 石家庄网站建设策略wordpress的主题
  • 王烨雄seo入门教学
  • WordPress主题DUX主题优化网站公司
  • 华云电力建设监理公司网站有没有做catalog的网站
  • 非寻服饰网站建设规划书网站运营维护工作 基本内容包括
  • 品牌的佛山网站建设个人电影网站备案
  • 带询盘外贸网站源码怎么做企业网站推广的方法