精华内容
下载资源
问答
  • 一级二级三级配电定义.docx
  • 施工现场临时用电配电箱一级二级三级定义及管理规范.docx
  • 三级配电二级漏保、配电设置问题次搞清楚.doc
  • 就是配电柜或总配电为第一级配电,分配电箱为第二级配电,开关为特殊的第三级配电。临电规范规定的临电系统短路及过载保护有五级,分别是总配电内总回路和分回路二级、分配电箱内进线回路和出线回路二级、开关...
  •  配电分为三种配电二级配电三级配电。  配电就是从变压器引入三相电源,地线,零线。  配电:施工用电配电柜作建筑工地施工用电用,是专门针对工程施工现场情况比较特殊而设计符合建设部门有关...
  • 光分配网(ODN)的分光方式主要有两种:一级分光和...采用二级分光时,第一级分路器一般设置在配线光交处,第二级分路器一般设置在分纤处。 那么,一级分光和二级分光有哪些不同?分别适用于什么场景呢! 1 引...

     

    光分配网(ODN)的分光方式主要有两种:一级分光和二级分光,如图1所示。受PON设备光功率预算及带宽的限制,当前,ODN的总分路比一般为1:64。

    图1 ODN的一级分光和二级分光

    采用一级分光时,分路器一般设置在配线光交处;采用二级分光时,第一级分路器一般设置在配线光交处,第二级分路器一般设置在分纤箱处。

    那么,一级分光和二级分光有哪些不同?分别适用于什么场景呢!

     

    1 引入段光缆纤芯数

     

    当采用一级分光时,分纤箱分配的纤芯数(从配线光交连接到分纤箱的纤芯)主要与分纤箱覆盖的住户数和配线比(配置的端口数/覆盖的住户数)有关;例如,当一个光缆分纤箱覆盖一个12户的住宅单元,如果配线比为50%,则分纤箱分配的纤芯数为12×50%=6(芯);分纤箱分配的光缆纤芯一般为6、8、12芯,如图2所示。

     

    图2 采用一级分光时的引入光缆芯数

    当采用二级分光时,无论分纤箱覆盖的住户数多少,分纤箱分配的纤芯数均为2芯,其中1芯连接分路器,另1芯备用,如图3所示。注意,光缆中分配的纤芯是指该段光缆在光交成端的纤芯数,与光缆的芯数不一定一样。

    图3采用二级分光时的引入光缆芯数

    显然,采用一级分光时,引入光缆的纤芯数随覆盖的住户数增加而增加;采用二级分光时,引入光缆的纤芯数只和分纤箱的数量有关。例如,一个住宅小区共设置了50个分纤箱,每个分纤箱覆盖的平均住户数为20户,配线比为50%,则采用一级分光时的引入光缆总芯数不少于50×20×0.5=500芯,采用二级分光时的引入光缆总芯数不少于50×2=100芯。

     

    2 用户放装的便捷性

     

    当采用一级分光时,光分路器的上行方向端口在工程阶段就已经和上行配线光缆进行了连接,在用户放装时,装维人员一般需经过以下步骤才能完成外线光缆的连接:

    (1)在覆盖待装用户的分纤箱处找到分纤箱内的空闲端口A;

    (2)到安装分路器的交接箱处,找到上述空闲端口A在交接箱内的对应端口B;

    (3)将分路器下行方向的指定空闲端口,连接到端口B。

    当采用二级分光时,第一级光分路器的上、下行端口在工程阶段已经分别与配线、引入光缆的纤芯进行了连接,放装时,只需要根据网管资料,在覆盖待装用户的分纤箱内找到对应的空闲端口即可。

    显然,采用二级分光时的用户放装较一级分光要便捷得多。

     

    3 ODN链路全程衰耗

     

    在同样分路比的情况下,二级分光所采用的2个光分路器的插损之和要大于一级分光的分路器;例如,1个1×64分路器(盒式)的插损为20.9dB,2个1×8分路器(1个盒式、1个插片式)的插损之和为22dB。注意,同样分路比的分路器,封装型式不同,插损也不一样。

    另外,采用二级分光时,分纤箱处采用的是插片式分路器,共有2个活接头;而采用一级分光时,分纤箱处只会有一处活接头;如图4所示。

    图4 ODN中的活接头与分路器插损

    所以,采用二级分光时,ODN链路的全程衰耗要比一级分光大1.6dB左右(活接头的衰耗按0.5dB计算)。

     

    4 PON口及主干纤芯的占用

     

    我们以一个实例来说明采用不同分光方式时PON口及主干纤芯的占用。

    某一多层小区,共60个单元,层高均为6层,每单元总户数12户,小区总户数720户;每个单元设置一个分纤箱。

    工程阶段,采用一级分光方式时,因为没有用户,所以只需安装一个1×64分路器,占用1芯主干和1个PON口;采用二级分光方式时,如果每个分纤箱安装一个1×8分路器,则在配线光交处还需安装8(60/8向上取整)个分路器,共占用8芯主干和8个PON口。

    放装阶段,假如渗透率(实装用户/覆盖住户)达到30%,即219户;当采用一级分光时,则需占用4(219/64向上取整)芯主干和4个PON口;当采用二级分光时,则占用的主干光缆芯数和PON口依然为8。

    可见,采用二级分光方式时PON口及主干纤芯的占用要大于一级分光。

     

    5 扩容方法

     

    原采用一级分光的ODN,扩容后会形成一、二级分光并存的情况,可能会带来网络维护的不便。(下期专门分析)

     

    6 ODN投资

     

    对采用一、二级分光方式的ODN建设投资差异影响较大的因素主要有以下几点:

    (1)一级分光方式下引入光缆的芯数较大;

    (2)一级分光方式下在配线光交、分纤箱处成端的光缆芯数较多;

    (3)二级分光对主干纤芯及PON口的占用较多。

    据测算,采用一级分光方式时,ODN的投资在不同配线比下均比二级分光高,见表1。

     

     

    在住户密度较低的区域,如农村、别墅区,尽管采用一、二级分光方式时光缆的芯数差异不大,但由于光缆成端芯数不一样,投资差异依然存在,只是没那么悬殊而已。

     

    7 一、二级分光使用场景的建议

     

    与二级分光相比,一级分光无论在投资、放装的便利性、扩容的便利性方面均显不足,虽然一级分光ODN链路的衰耗较低,但当前PON设备的光功率预算已完全满足二级分光的需求;所以,当前的ODN主要采用二级分光。

    但在内部管线共建共享的小区,运营商与开发商网络的分界点为配线光交,如图5所示;分纤箱内引入光缆和每个住户的入户光缆是一一对应熔接的,所以,这种情况下宜采用一级分光。

    图5 共建共享小区的配线光交

     


     

    一丁一卯,专注于通信管线和宽带接入工程技术交流与分享

    微信搜索公众号“一丁一卯”添加关注

    转载或引用请注明出处

     

     

    展开全文
  • 三级配电是指施工现场从电源进线开始至用电设备之间,应经过三级配电装置配送电力,即由总配电箱(一级箱)或配电室的配电柜开始,依次经过分配电箱(二级箱),开关箱(三级箱)到用电设备。这种分三个层次逐级配送...
  • 次分解产生个高频,个低频,第次对第次产生的高频分解,产生个低频个高频;第次对第次的低频分解产生个高频个低频。层分解后产生个低频9个高频,并产生对应的小波系数
  • SpringBoot:十五道SpringBoot面试题及答案!

    万次阅读 多人点赞 2019-05-15 23:08:32
    SpringBoot面试 前言 今天博主将为大家分享十五道SpringBoot面试题及...问题: 可以配置 application.propertierde 的完整的属性列表在哪里可以找到? https://docs.spring.io/spring-boot/docs...

    SpringBoot面试


    前言

    今天博主将为大家分享三十五道SpringBoot面试题及答案,不喜勿喷,如有异议欢迎讨论!

    Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家。本文精选了三十五个常见的Spring Boot知识点,祝你一臂之力!


    问题一:

    Spring Boot、Spring MVC 和 Spring 有什么区别?

    1. Spring
    Spring最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。
    当我们恰当的使用 DI 或者是 IOC 的时候,我们可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。
    2. Spring MVC
    Spring MVC 提供了一种分离式的方法来开发 Web 应用。通过运用像 DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念,开发 Web 应用将会变的非常简单。
    3. SpringBoot
    Spring 和 SpringMVC 的问题在于需要配置大量的参数。

    在这里插入图片描述Spring Boot 通过一个自动配置和启动的项来目解决这个问题。为了更快的构建产品就绪应用程序,Spring Boot 提供了一些非功能性特征。


    问题二:

    什么是自动配置?

    Spring 和 SpringMVC 的问题在于需要配置大量的参数。
    在这里插入图片描述

    我们能否带来更多的智能?当一个 MVC JAR 添加到应用程序中的时候,我们能否自动配置一些 beans?

    Spring 查看(CLASSPATH 上可用的框架)已存在的应用程序的配置。在此基础上,Spring Boot 提供了配置应用程序和框架所需要的基本配置。这就是自动配置。


    问题三:

    什么是自动配置?

    什么是 Spring Boot Stater ?

    启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。

    例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。


    问题四:

    你能否举一个例子来解释更多 Staters 的内容?

    让我们来思考一个 Stater 的例子 -Spring Boot Stater Web。

    如果你想开发一个 web 应用程序或者是公开 REST 服务的应用程序。Spring Boot Start Web 是首选。让我们使用 Spring Initializr 创建一个 Spring Boot Start Web 的快速项目。

    Spring Boot Start Web 的依赖项。

    在这里插入图片描述
    下面的截图是添加进我们应用程序的不同的依赖项

    在这里插入图片描述
    依赖项可以被分为:

    • Spring - core,beans,context,aop

    • Web MVC - (Spring MVC)

    • Jackson - for JSON Binding

    • Validation - Hibernate,Validation API

    • Enbedded Servlet Container - Tomcat

    • Logging - logback,slf4j

    任何经典的 Web 应用程序都会使用所有这些依赖项。Spring Boot Starter Web 预先打包了这些依赖项。

    作为一个开发者,我不需要再担心这些依赖项和它们的兼容版本。


    问题五:

    Spring Boot 还提供了其它的哪些 Starter Project Options?
    • spring-boot-starter-web-services - SOAP Web Services;

    • spring-boot-starter-web - Web 和 RESTful 应用程序;

    • spring-boot-starter-test - 单元测试和集成测试;

    • spring-boot-starter-jdbc - 传统的 JDBC;

    • spring-boot-starter-hateoas - 为服务添加 HATEOAS 功能;

    • spring-boot-starter-security - 使用 SpringSecurity 进行身份验证和授权;

    • spring-boot-starter-data-jpa - 带有 Hibeernate 的 Spring Data JPA;

    • spring-boot-starter-data-rest - 使用 Spring Data REST 公布简单的 REST 服务;


    问题六:

    Spring 是如何快速创建产品就绪应用程序的?

    Spring Boot 致力于快速产品就绪应用程序。为此,它提供了一些譬如高速缓存,日志记录,监控和嵌入式服务器等开箱即用的非功能性特征。

    • spring-boot-starter-actuator - 使用一些如监控和跟踪应用的高级功能

    • spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-starter-tomcat - 选择您的特定嵌入式 Servlet 容器

    • spring-boot-starter-logging - 使用 logback 进行日志记录

    • spring-boot-starter-cache - 启用 Spring Framework 的缓存支持

    • ###Spring2 和 Spring5 所需要的最低 Java 版本是什么?

    • Spring Boot 2.0 需要 Java8 或者更新的版本。Java6 和 Java7 已经不再支持。

    推荐阅读:

    https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0.0-M1-Release-Notes


    问题七:

    创建一个 Spring Boot Project 的最简单的方法是什么?

    Spring Initializr是启动 Spring Boot Projects 的一个很好的工具。

    • 登录 Spring Initializr,按照以下方式进行选择:

    • 选择 com.in28minutes.springboot 为组

    • 选择 studet-services 为组件

    • 选择下面的依赖项

    • Web

    • Actuator

    • DevTools

    • 点击生 GenerateProject

    • 将项目导入 Eclipse。文件 - 导入 - 现有的 Maven 项目


    问题八:

    Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?

    Spring Initiatlizr 让创建 Spring Boot 项目变的很容易,但是,你也可以通过设置一个 maven 项目并添加正确的依赖项来开始一个项目。

    在我们的 Spring 课程中,我们使用两种方法来创建项目。

    第一种方法是 start.spring.io

    另外一种方法是在项目的标题为“Basic Web Application”处进行手动设置。

    手动设置一个 maven 项目

    这里有几个重要的步骤:

    • 在 Eclipse 中,使用文件 - 新建 Maven 项目来创建一个新项目

    • 添加依赖项。

    • 添加 maven 插件。

    • 添加 Spring Boot 应用程序类。

    到这里,准备工作已经做好!


    问题九:

    为什么我们需要 spring-boot-maven-plugin?

    spring-boot-maven-plugin 提供了一些像 jar 一样打包或者运行应用程序的命令。

    • spring-boot:run 运行你的 SpringBooty 应用程序。

    • spring-boot:repackage 重新打包你的 jar 包或者是 war 包使其可执行

    • spring-boot:start 和 spring-boot:stop 管理 Spring Boot 应用程序的生命周期(也可以说是为了集成测试)。

    • spring-boot:build-info 生成执行器可以使用的构造信息。


    问题十:

    如何使用 SpringBoot 自动重装我的应用程序?

    使用 Spring Boot 开发工具。

    把 Spring Boot 开发工具添加进入你的项目是简单的。

    把下面的依赖项添加至你的 Spring Boot Project pom.xml 中

    在这里插入图片描述

    重启应用程序,然后就可以了。

    同样的,如果你想自动装载页面,有可以看看 FiveReload

    http://www.logicbig.com/tutorials/spring-framework/spring-boot/boot-live-reload/.

    在我测试的时候,发现了 LiveReload 漏洞,如果你测试时也发现了,请一定要告诉我们。


    问题十一:

    什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?

    思考一下在你的虚拟机上部署应用程序需要些什么。

    第一步: 安装 Java

    第二部: 安装 Web 或者是应用程序的服务器(Tomat/Wbesphere/Weblogic 等等)

    第三部: 部署应用程序 war 包

    如果我们想简化这些步骤,应该如何做呢?

    让我们来思考如何使服务器成为应用程序的一部分?

    你只需要一个安装了 Java 的虚拟机,就可以直接在上面部署应用程序了,
    是不是很爽?

    这个想法是嵌入式服务器的起源。

    当我们创建一个可以部署的应用程序的时候,我们将会把服务器(例如,tomcat)嵌入到可部署的服务器中。

    例如,对于一个 Spring Boot 应用程序来说,你可以生成一个包含 Embedded Tomcat 的应用程序 jar。你就可以想运行正常 Java 应用程序一样来运行 web 应用程序了。

    嵌入式服务器就是我们的可执行单元包含服务器的二进制文件(例如,tomcat.jar)。


    问题十二:

    如何在 Spring Boot 中添加通用的 JS 代码?

    在源文件夹下,创建一个名为 static 的文件夹。然后,你可以把你的静态的内容放在这里面。

    例如,myapp.js 的路径是 resources\static\js\myapp.js,你可以参考它在 jsp 中的使用方法:

    在这里插入图片描述

    错误:HAL browser gives me unauthorized error - Full authenticaition is required to access this resource.,该如何来修复这个错误呢?

    在这里插入图片描述

    两种方法:

    • 方法 1:关闭安全验证
      application.properties
      management.security.enabled:FALSE
    • 方法二:在日志中搜索密码并传递至请求标头中

    问题十三:

    什么是 Spring Data?

    来自://projects.spring.io/spring- data/

    Spring Data 的使命是在保证底层数据存储特殊性的前提下,为数据访问提供一个熟悉的,一致性的,基于 Spring 的编程模型。这使得使用数据访问技术,关系数据库和非关系数据库,map-reduce 框架以及基于云的数据服务变得很容易。

    为了让它更简单一些,Spring Data 提供了不受底层数据源限制的 Abstractions 接口。
    在这里插入图片描述

    你可以定义一简单的库,用来插入,更新,删除和检索代办事项,而不需要编写大量的代码。


    问题十四:

    什么是 Spring Data REST?

    Spring Data TEST 可以用来发布关于 Spring 数据库的 HATEOAS RESTful 资源。

    在这里插入图片描述

    不需要写太多代码,我们可以发布关于 Spring 数据库的 RESTful API。

    下面展示的是一些关于 TEST 服务器的例子

    POST:

    • URL:http://localhost:8080/todos

    • Use Header:Content-Type:Type:application/json

    • Request Content

    在这里插入图片描述

    在这里插入图片描述


    问题十五:

    path=”users”, collectionResourceRel=”users” 如何与 Spring Data Rest 一起使用?

    在这里插入图片描述

    • path- 这个资源要导出的路径段。

    • collectionResourceRel- 生成指向集合资源的链接时使用的 rel 值。在生成 HATEOAS 链接时使用。


    问题十六:

    当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?

    如果你使用 Eclipse IDE,Eclipse maven 插件确保依赖项或者类文件的改变一经添加,就会被编译并在目标文件中准备好!在这之后,就和其它的 Java 应用程序一样了。

    当你启动 java 应用程序的时候,spring boot 自动配置文件就会魔法般的启用了。

    • 当 Spring Boot 应用程序检测到你正在开发一个 web 应用程序的时候,它就会启动 tomcat。

    问题十七:

    我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?

    在 spring-boot-starter-web 移除现有的依赖项,并把下面这些添加进去。

    在这里插入图片描述

    问题十八:

    如何使用 Spring Boot 生成一个 WAR 文件?


    问题十九:

    如何使用 Spring Boot 部署到不同的服务器?

    • 在一个项目中生成一个 war 文件。

    • 将它部署到你最喜欢的服务器(websphere 或者 Weblogic 或者 Tomcat and so on)。

    第一步:这本入门指南应该有所帮助:

    第二步:取决于你的服务器。


    问题二十:

    RequestMapping 和 GetMapping 的不同之处在哪里?

    • RequestMapping 具有类属性的,可以进行 GET,POST,PUT 或者其它的注释中具有的请求方法。

    • GetMapping 是 GET 请求方法中的一个特例。它只是 ResquestMapping 的一个延伸,目的是为了提高清晰度。


    问题二十一:

    为什么我们不建议在实际的应用程序中使用 Spring Data Rest?

    我们认为 Spring Data Rest 很适合快速原型制造!在大型应用程序中使用需要谨慎。

    通过 Spring Data REST 你可以把你的数据实体作为 RESTful 服务直接发布。

    当你设计 RESTful 服务器的时候,最佳实践表明,你的接口应该考虑到两件重要的事情:

    • 你的模型范围。

    • 你的客户。

    通过 With Spring Data REST,你不需要再考虑这两个方面,只需要作为 TEST 服务发布实体。

    这就是为什么我们建议使用 Spring Data Rest 在快速原型构造上面,或者作为项目的初始解决方法。对于完整演变项目来说,这并不是一个好的注意。


    问题二十二:

    在 Spring Initializer 中,如何改变一个项目的包名字?

    好消息是你可以定制它。点击链接“转到完整版本”。你可以配置你想要修改的包名称!


    问题二十三:

    可以配置 application.propertierde 的完整的属性列表在哪里可以找到?


    问题二十四:

    JPA 和 Hibernate 有哪些区别?

    • JPA 是一个规范或者接口

    • Hibernate 是 JPA 的一个实现

    当我们使用 JPA 的时候,我们使用 javax.persistence 包中的注释和接口时,不需要使用 hibernate 的导入包。

    我们建议使用 JPA 注释,因为哦我们没有将其绑定到 Hibernate 作为实现。后来(我知道 - 小于百分之一的几率),我们可以使用另一种 JPA 实现。


    问题二十五:

    业务边界应该从哪一层开始?

    我们建议在服务层管理义务。商业业务逻辑在商业层或者服务层,与此同时,你想要执行的业务管理也在该层。


    问题二十六:

    使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?

    在 Spring Boot 项目中,当你确保下面的依赖项都在类路里面的时候,你可以加载 H2 控制台。

    • web 启动器

    • h2

    • jpa 数据启动器

    在这里插入图片描述
    需要注意的一些地方:

    • 一个内部数据内存只在应用程序执行期间存在。这是学习框架的有效方式。

    • 这不是你希望的真是世界应用程序的方式。

    • 在问题“如何连接一个外部数据库?”中,我们解释了如何连接一个你所选择的数据库。


    问题二十七:

    如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?

    在这里插入图片描述

    spring-boot-stater-data-jpa 对于 Hibernate 和 JPA 有过渡依赖性。

    当 Spring Boot 在类路径中检测到 Hibernate 中,将会自动配置它为默认的 JPA 实现。


    问题二十八:

    指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?

    这就是 Spring Boot 自动配置的魔力。

    来自:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-auto-configuration.html

    Spring Boot auto-configuration 试图自动配置你已经添加的基于 jar 依赖项的 Spring 应用程序。比如说,如果 HSQLDBis 存在你的类路径中,并且,数据库连接 bean 还没有手动配置,那么我们可以自动配置一个内存数据库。

    当 Spring Boot 在类路径中检测到 Hibernate 中,将会自动配置它为默认的 JPA 实现。


    问题二十九:

    我们如何连接一个像 MySQL 或者Orcale 一样的外部数据库?

    第一步 - 把 mysql 连接器的依赖项添加至 pom.xml

    在这里插入图片描述

    第二步 - 从 pom.xml 中移除 H2 的依赖项

    或者至少把它作为测试的范围。

    在这里插入图片描述

    第三步 - 安装你的 MySQL 数据库

    第四步 - 配置你的 MySQL 数据库连接

    配置 application.properties

    spring.jpa.hibernate.ddl-auto=none 
    spring.datasource.url=jdbc:mysql://localhost:3306/todo_example 
    spring.datasource.username=todouser 
    spring.datasource.password=YOUR_PASSWORD  
    

    第五步 - 重新启动,你就准备好了!


    问题三十:

    Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?

    在 application.properties 里面,列出了所有的默认值

    找到下面的属性

    #Name of the datasource.
    
    spring.datasource.name=testdb 
    

    如果你使用了 H2 内部存储数据库,它里面确定了 Spring Boot 用来安装你的 H2 数据库的名字。


    问题三十一:

    如果 H2 不在类路径里面,会出现上面情况?

    • 将会报下面的错误

      Cannot determine embedded database driver class for database type NONE

    把 H2 添加至 pom.xml 中,然后重启你的服务器

    在这里插入图片描述


    问题三十二:

    你能否举一个以 ReadOnly 为事务管理的例子?

    • 当你从数据库读取内容的时候,你想把事物中的用户描述或者是其它描述设置为只读模式,以便于 Hebernate 不需要再次检查实体的变化。这是非常高效的。

    问题三十三:

    发布 Spring Boot 用户应用程序自定义配置的最好方法是什么?

    @Value 的问题在于,您可以通过应用程序分配你配置值。更好的操作是采取集中的方法。
    你可以使用 @ConfigurationProperties 定义一个配置组件。

    在这里插入图片描述

    你可以在 application.properties 中配置参数。

    basic.value: true 
    
    basic.message: Dynamic Message 
    
    basic.number: 100
    

    问题三十四:

    配置文件的需求是什么?

    企业应用程序的开发是复杂的,你需要混合的环境:

    • Dev

    • QA

    • Stage

    • Production

    在每个环境中,你想要不同的应用程序配置。

    Spring 和 Spring Boot 提供了你可以制定的功能。

    • 不同配置文件中,不同环境的配置是什么?

    • 为一个制定的环境设置活动的配置文件。

    Spring Boot 将会根据特定环境中设置的活动配置文件来选择应用程序的配置。


    问题三十五:

    如何使用配置文件通过 Spring Boot 配置特定环境的配置?

    配置文件不是设别环境的关键。

    在下面的例子中,我们将会用到两个配置文件

    • dev

    • prod

    缺省的应用程序配置在 application.properties 中。让我们来看下面的例子:

    application.properties

    basic.value= true 
    
    basic.message= Dynamic Message 
    
    basic.number= 100
    

    我们想要为 dev 文件自定义 application.properties 属性。我们需要创建一个名为 application-dev.properties 的文件,并且重写我们想要自定义的属性。

    application-dev.properties

    basic.message: Dynamic Message in DEV
    

    一旦你特定配置了配置文件,你需要在环境中设定一个活动的配置文件。

    有多种方法可以做到这一点:

    • 在 VM 参数中使用 Dspring.profiles.active=prod

    • 在 application.properties 中使用 spring.profiles.active=prod


    到这里三十五道SpringBoot面试题及答案分享完毕了!下一波将分享《Redis的下载安装》和SpringBoot-Jpa-Redis案例分享!


    最后

    • 更多参考精彩博文请看这里:《陈永佳的博客》

    • 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!

    展开全文
  • 【Warming up】在学习和工作的过程中,作者曾写过很多采用ArcGIS模型构建器...今天给大家展示款神器:自定义工具GeoStorm.tbx。使用该神器,可以不用构建模型、零代码、傻瓜式的实现海量数据的批处理操作。如批...

    【Warming up】在学习和工作的过程中,作者曾写过很多采用ArcGIS模型构建器(Model Builder)、Python代码等批处理方法(感兴趣的GISers可以去【测绘地理信息Big风暴专】栏去交流学习指导),大大的减轻了操作压力,提高了工作效率。今天给大家展示一款神器:自定义工具箱GeoStorm.tbx。使用该神器,可以不用构建模型、零代码、傻瓜式的实现海量数据的批处理操作。如批量裁剪、批量投影、批量提取值至点、批量地统计等,用户也可以往神器中添加自己的功能或编辑已有功能。好了,赶快去先睹为快吧!

    一、神器简介(Profile)

    本神器是在ArcGIS平台上,通过构建界面,编写代码等步骤开发的用户自定义工具箱。是一款轻量级、功能强大的GISer必备神器。后缀名为.tbx,名称以GeoStorm命名。

    二、应用举例(Example)

    1、添加工具箱(Add GeoStorm.tbx)

    打开ArcGIS软件→ArcToolbox→右键→添加工具箱→选择神器GeoStorm.tbx→打开。

    注:本神器基于ArcGIS 10.2开发,高于10.2的GIS都可以轻松自如加载并使用。

    展开全文
  • ArcGIS教程 - 2 ArcGIS基础知识

    千次阅读 多人点赞 2020-02-08 11:47:37
    ArcGIS10.x是ESRI公司开发的GIS产品家族,它集合了数据库、软件工程、网络技术、移动技术、云计算等主流的IT技术,目的是提供给用户一套完整的、开放的企业GIS解决方案。本章主要介绍ArcGIS产品的发展史、构架等...

    第2章 ArcGIS基础知识

    2.1 ArcGIS10.x概述

    ArcGIS10.x是ESRI公司开发的GIS产品家族,它集合了数据库、软件工程、网络技术、移动技术、云计算等主流的IT技术,目的是提供给用户一套完整的、开放的企业级GIS解决方案。本章主要介绍ArcGIS产品的发展史、构架等方面的内容。

    ESRI(Environmental System Research Institute,环境系统研究所)创建于1969年,总部位于加州的雷德兰兹。1982年ESRI发布第一套商业化GIS软件ARC/INFO 1.0,可以在计算机上显示点、线、面,并通过数据库管理工具将属性信息与之结合。ARC/INFO 1.0被公认为第一个商业化GIS系统。

    1986年PC ARC/INFO的出现是ESRI软件发展史上的又一个里程碑,它是为PC的GIS工作站而设计的。

    1992年ESRI推出了ArcView软件,人们可以用更少的投入就可以获得一套简单易用的桌面制图工具。

    在20世纪90年代,ESRI推出了基于Windows NT构架的Arcinfo产品,满足用户GIS和制图多样的选择,同时奠定了ESRI在GIS市场的领头羊地位。

    2004年推出了新一代的ArcGIS 9,为构建完善的GIS系统提供了一套完整的软件产品。

    2010年ESRI推出ArcGIS 10,全球首款支持云构架的GIS平台,使ArcGIS 10真正具备了3D建模、编辑和分析能力,并实现了三维空间向四维时空的飞跃,真正的GIS与RS一体化。

    2.2 ArcGIS10.x家族

    ArcGIS家族包含众多的组成部分,最主要的几部分如下,如图所示:

    • ArcGIS for Desktop - 一套集成的、桌面端的专业 GIS 应用程序。

    • ArcGIS for Server - 将 GIS 信息和地图以 Web 服务形式发布,并且支持企业级数据管理。

    • ArcGIS for Mobile - 为野外计算提供移动 GIS 工具和应用程序。

    • ArcGIS Online - 提供可通过 Web 进行访问的在线云 GIS 功能。

    2.2.1 ArcGIS桌面产品级别

    ArcGIS桌面是GIS专业人士的主要工作平台,用来管理复杂的GIS流程和应用工程,来创建数据、地图、模型和应用。是在机构内部署GIS应用的起点和基础。

    ArcGIS桌面是一系列整合的应用程序的总称,包括ArcMap、ArcCatalog、ArcGlobe、ArcScene、ArcToolbox 和Model Builder。通过通用的应用界面,用户可以实现任何从简单到复杂的GIS任务。根据用户的伸缩性需求,ArcGIS桌面分为三个级别产品,如图所示:

    • ArcGIS for Desktop Basic:主要用于综合性数据使用、制图和分析;

    • ArcGIS for Desktop Standard:在ArcGIS for Desktop Basic基础上增加了高级的地理数据库编辑和数据创建功能;

    • ArcGIS for Desktop Advanced:是ArcGIS for Desktop的旗舰产品,作为完整的GIS桌面应用包含复杂GIS的功能和丰富的空间处理工具;

    2.2.2 ArcGIS for Desktop应用程序概述

    ArcGIS for Desktop是一个系列软件套件,它包含了一套带有用户界面的Windows桌面应用:ArcMap,ArcCatalog,ArcGlobe,ArcScene,ArcToolbox和Model Builder,每一个应用都具有丰富的GIS工具。

    2.2.2.1 ArcMap

    ArcMap是ArcGIS for Desktop中一个主要的应用程序,承担所有制图和编辑任务,也包括基于地图的查询和分析功能。ArcMap通过一个或几个图层集合表达地理信息,而在地图窗口中又包含了许多地图元素,通常拥有多个图层的地图包括的元素有比例尺,指北针,地图标题,描述信息和图例,如图所示。

    2.2.2.2 ArcCatalog

    ArcCatalog应用程序帮助用户组织和管理所有的GIS信息,比如地图、球体、数据文件、Geodatabase、空间处理工具箱、元数据、服务等。用户可以使用ArcCatalog来组织、查找和使用GIS数据,同时也可以利用基于标准的元数据来描述数据。GIS数据库管理员使用ArcCatalog来定义和建立Geodatabase。GIS服务器管理员则使用ArcCatalog来管理GIS服务器框架,如图所示。自ArcGIS 10开始,已经将ArcCatalog嵌入到各个桌面应用程序中,包括:ArcMap、ArcGlobe、ArcScene。

    2.2.2.3  ArcScense

    ArcScene是ArcGIS桌面系统中实现3D可视化和3D空间分析的应用,需要配备3D分析扩展模块。它是一个适合于展示三维透视场景的平台,可以在三维场景中漫游并与三维矢量与栅格数据进行交互,适用于数据量比较小的场景进行3D分析显示。ArcScene是基于OpenGL的,支持TIN数据显示。显示场景时,ArcScene会将所有数据加载到场景中,矢量数据以矢量形式显示,如图所示。

    2.2.2.4 ArcGlobe

    ArcGlobe是ArcGIS桌面系统中实现3D可视化和3D空间分析的应用,需要配备3D分析扩展模块。ArcGlobe提供了全球地理信息连续、多分辨率的交互式浏览功能,支持海量数据的快速浏览。像ArcMap一样,ArcGlobe也是使用GIS数据层来组织数据,显示Geodatabase和所有支持的GIS数据格式中的信息。ArcGlobe具有地理信息的动态3D视图。ArcGlobe图层放在一个单独的内容表中,将所有的GIS数据源整合到一个通用的球体框架中。它能处理数据的多分辨率显示,使数据集能够在适当的比例尺和详细程度上可见。

    ArcGlobe交互式地理信息视图使GIS用户整合并使用不同GIS数据的能力大大提高,而且在三维场景下可以直接进行三维数据的创建、编辑、管理和分析,如图所示。

    2.2.3 ArcGIS for Desktop常用扩展模块

    ArcGIS提供了一系列的常用扩展模块,用来扩展产品的功能。通常情况下,根据这些扩展的用途,可分为两大类:

    2.2.3.1 空间分析模块(ArcGIS Spatial Analyst)

    ArcGIS Spatial Analyst模块提供了众多强大的栅格建模和分析的功能,利用这些功能可以创建,查询,制图和分析基于格网的栅格数据。使用ArcGIS Spatial Analyst,用户可从现存数据中得到新的数据及衍生信息,分析空间关系和空间特征,寻址,计算点到点旅行的综合代价等功能。同时,还可以进行栅格和矢量结合的分析,如图所示。

    利用空间分析模块能够进行以下分析:

    • 距离分析、密度分析

    • 寻找适宜位置、位置间的最佳路径

    • 距离和路径成本分析

    • 基于本地环境、邻域或待定区域的统计分析

    • 应用简单的影像处理工具生成新数据

    • 对研究区进行基于采样点的插值

    • 进行数据整理以方便进一步的数据分析和显示

    • 栅格矢量数据的转换

    • 栅格计算、统计、重分类等功能

    2.2.3.2 三维可视化与分析模块(ArcGIS 3D Analyst)

    ArcGIS 3D Analyst模块提供了强大的、先进的三维可视化、三维分析和表面建模工具。通过ArcGIS 3D分析模块,你可以从不同的视点观察表面、查询表面、确定从表面上某一点观察时其它地物的可见性,还可以将栅格和矢量数据贴在表面以创建一副真实的透视图,还可以对三维矢量数据进行高端分析。使用ArcGIS 3D分析模块,你可以有效的编辑和管理三维数据。

    ArcGIS 3D分析扩展模块的核心是ArcGlobe应用程序,ArcGlobe提供浏览多层GIS数据、创建和分析表面的界面,高效的处理栅格、矢量、地形和影像数据集。

    利用ArcGIS 3D Analyst模块能够进行以下分析:

    • 进行表面创建和分析,支持Terrain Datasets

    • 建立ArcGIS所支持的数据格式的表面模型,其中包括CAD、shapefiles、coverages和 images数据格式

    • 进行交互式透视图的显示和分析,包括拖动和缩放、旋转、倾斜以及飞行模拟

    • 模拟诸如建筑物的现实世界表面特征

    • 模拟水井、矿、地下水以及地下储藏设施等地下特征

    • 从属性值来生成飞行的三维表面

    • 把二维数据遮盖在表面上且在三维空间中显示

    • 计算表面积、体积、坡度、坡角以及山阴影

    • 进行视域和视线分析、点的高度插值、画剖面图以及最陡路径判断

    • 进行日照分析、三维缓冲区分析、最大建筑高度分析、三维网络分析等高端三维应用分析,如图2.12、2.13所示

    • 使用许多数据图层效果诸如透明度、亮度、阴影以及深度优先

    • 生成二维或三维要素的等高线

    • 基于属性或位置的三维数据查询

    • 在网络上利用VRML输出显示数据

    •创建可视化的动画(AVI,MPEG, QuickTime)

    • 在三维可视化场景中进行编辑和管理3D数据

    • 在三维可视化场景中叠加视频

    • 天际线分析、最大建筑高度分析、三维网络分析等高端三维应用分析

    2.2.3.3 地理统计分析模块(ArcGIS Geostatistical Analyst)

    ArcGIS Geostatistical Analyst模块为空间数据探测、确定数据异常、优化预测、评价预测的不确定性和生成数据面等工作提供各种各样的工具,其主要能够完成探究数据可变性、查找不合理数据、检查数据的整体变化趋势、分析空间自相关和多数据集之间的相互关系以及利用各种地统计模型和工具来做预报、 预报标准误差、计算大于某一值的概率和分位图绘制等工作。如图所示。

    2.2.3.4 网络分析模块(ArcGIS Network Analyst)

    ArcGIS Network Analyst扩展可以帮助用户创建和管理复杂的网络数据集合,并且生成路径解决方案。ArcGIS Network Analyst是进行路径分析的扩展模块,为基于网络的空间分析(比如位置分析,行车时间分析和空间交互式建模等)提供了一个完全崭新的解决框架。该扩展模块将帮助ArcGIS for Desktop用户模拟现实世界中的网络条件与情景。ArcGIS Network Analyst模块能够进行行车时间分析、点到点的路径分析、路径方向、服务区域定义、最短路径、最佳路径、邻近设施、起始目标点矩阵等分析。

    ArcGIS Network Analyst使得ArcGIS用户可以利用地理网络来解决各种问题。许多基于网络的任务都可以被执行,如寻找最高效的旅游线路或者最近的设施,生成旅游向导,以及确定基于旅游时间的服务区域。如图所示。

    2.2.3.5 追踪分析模块(ArcGIS Tracking Analyst)

    ArcGIS Tracking Analyst模块提供时间序列的回放和分析功能,可以帮助显示复杂的时间序列和空间模型,并且有助于在ArcGIS系统中与其他类型的GIS数据集成的时候相互作用。该模块扩展了ArcGIS桌面功能,它提供了多种分析工具和功能,能够和其它的扩展模块结合起来为交通、应急反应、军事以及其它领域的用户实现功能强大的应用。

    用户可以使用ArcGIS Tracking Analyst模块显示分析时间数据,包括随着时间变化追踪要素的移动轨迹,以及某个时间段特定位置的追踪系统值的变化。

    2.2.3.6 数据互操作模块(ArcGIS Data Interoperability)

    使用ArcGIS Data Interoperability扩展可以直接读访问110多种空间数据格式,包括GML、DWG/DXF文件、MicroStation Design文件、MapInfo MID/MIF文件和TAB文件类型等。用户可以通过拖放方式让这些数据和其它数据源在ArcGIS中直接用于制图、空间处理、元数据管理和3D Globe制作。例如,所有制图功能都可使用这些数据源,包括查看要素和属性、识别要素和进行选择。

    ArcGIS Data Interoperability技术来自Safe软件公司(世界领先的GIS互操作提供商)的FME(Feature Manipulation Engine)产品。其中,包含了FME Workbench应用程序,它提供一系列数据转换工具用来构建复杂矢量数据格式的转换器。

    2.2.3.7 描矢量化模块(ArcScan for ArcGIS)

    ArcScan for ArcGIS是为ArcGIS for Desktop扩展的栅格编辑和扫描数字化等能力。它通常用于从扫描地图和手画地图中获得数据。

    使用ArcScan for ArcGIS模块,能够实现从栅格到矢量的转换任务,包括栅格编辑,栅格捕捉,手动的栅格跟踪和批量矢量化。ArcScan for ArcGIS使用交互式矢量化和自动矢量化的要素模板,要素模板是在ArcGIS 10 的时候开始提供的增强编辑体验之一。

    展开全文
  • 和第四个个体满足第个约束条件但违反了第个约束条件。 下面看下如何用代码来生成个种群染色体矩阵: 代码1. 实整数值种群染色体矩阵的创建: import numpy as np from geatpy import crtpc help(crtpc) # ...
  • 自动驾驶概述

    万次阅读 2020-02-08 20:27:27
    随着5G逐渐走进人们的视线,自动驾驶汽车成为个社会热门话题。那么自动驾驶究竟是什么样的?它真的能实现吗?什么时候我们才能真正使用上呢? 汽车是当今社会的主要交通工具之,自动驾驶汽车是目前可以看到,...
  • 3、树莓派新手准备 需要准备个树莓派及电源线、个SD卡、根HDMI线、个USB鼠标、个USB键盘、个显示器,流程大概如下: 1、先去官网下载树莓派官方系统,并将系统烧录到Micro SD卡中; 2、然后将SD插入...
  • MATLAB 图像处理工具 种简单的基于图像处理交通信号灯识别算法 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入段漂亮的代码片生成个...
  • 目录 * 此文仅是个人自学理解的学习笔记,若有不对之处敬请指导更正,谢谢! * 目录 ...方法:clone ...方法: ant-design-pro-cli ...Ant Design Pro 是个企业即用的中后台前...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    章 C#语言基础 本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠章的内容就完全掌握C#语言是不可能的,...
  • Xshell 6安装和使用教程

    万次阅读 多人点赞 2018-08-23 17:23:48
    中选择Home and school use,填写其他信息和下载链接接收邮箱,提交之后到邮箱进行下载,可能会被拦截,如果没收到,请看垃圾。 下载之后一路安装即可,基本没什么配置。 、XShell 6的使用 创建...
  • 、基本操作 答题前的操作 建议在答题前将系统设置为“显示隐藏的文件、文件夹和驱动器”及不“隐藏已知文件类型的扩展名”,再开始答题。 方法如下:在“计算机”或“Windows资源管理器”的“组织”菜单中选择...
  • 基于MATLAB的语音信号处理

    万次阅读 多人点赞 2018-07-15 01:21:20
    基于MATLAB的语音信号处理摘要:语音信号处理是目前发展最为迅速的信息科学研究领域中的个,是目前极为活跃和热门的研究领域,其研究成果具有重要的学术及应用价值。语音信号处理的研究,对于机器语言、语音识别、...
  • 文章目录、智能合约库简介、痛点及解决方式痛点:计算可能溢出痛点:转换不够便捷痛点:数组操作不够丰富痛点四:不提供字符串内置操作痛点五:高级数据结构不完备总结 、智能合约库简介 作为一门实现...
  • 集装RFID物流运输管理系统应用

    千次阅读 2020-10-13 10:22:09
    经过近几年的发展,RFID技术已经被广泛用于生产...集装是国际物流的主要运输装备,国际货运的90%是通过集装运输来完成的,2006年全球集装吞吐量达到4.21亿TEU,集装贸易量达到1.17亿TEU。集装在运输有明显
  • 计算机三级嵌入式学习笔记(

    万次阅读 多人点赞 2021-02-05 15:49:28
    计算机三级嵌入式学习笔记()-- 嵌入式系统概论
  • matplotlib【3】--线图

    千次阅读 2018-10-13 21:08:21
    线图一般用来展现数据的分布(如上下四分位值、中位数等),同时,也可以用线图来反映数据的异常情况。 饼图函数:plt.boxplot() boxplot函数设置: plt.boxplot(x, notch=None, sym=None, vert=None, whis=...
  • 音箱由哪几部分组成?...当然,音箱内还可能有吸音棉、倒相管、折叠的“迷宫管道”、加强盘/加强隔板等别的部件,但这些部件并非任何只音箱都必不可少,音箱最基本的组成元素只有部分:喇叭单元...
  • Java工具

    千次阅读 2019-01-13 21:19:43
    本文类似于个Java开发的“工具”,会记录一些Java开发者常用到的工具,例如:工具的一些环境配置、常用的技术网站等。本文不会下子就有很多内容,会不断的完善。 、JDK环境变量配置 Windows环境 1.首先...
  • matlab遗传算法gatbx工具介绍及安装说明

    万次阅读 多人点赞 2018-02-15 23:00:31
    . 遗传算法简介: 官网:http://www.geatpy.com/tutorials 遗传算法是以自然选择和遗传理论为基础,将生物进化过程中适者生存规则与群体内部染色体的随机信息交换机制相结合的高效全局寻优搜索算法。 这样解释...
  • python--matplotlib(线图)

    千次阅读 2018-04-25 21:12:01
    期,我们就先来介绍一下数值型变量的线图绘制。线图一般用来展现数据的分布(如上下四分位值、中位数等),同时,也可以用线图来反映数据的异常情况。 boxplot函数的参数解读 绘图之...
  • verilog 综合注意事项

    万次阅读 多人点赞 2016-07-29 15:46:40
    Z会综合成态门,必须在条件语句中赋值 19、参数化设计: 优点:参数可重载,不需要多次定义模块 四:模块优化 1、资源共享: 当进程涉及到共用ALU时,要考虑资源分配问题。可以共享的操作符主要有:...
  • . 灰色预测模型概念 灰色系统内的部分信息是已知的,另部分信息是未知的,系统内各因素间有不确定的关系。.... 灰色生成数列 在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据处理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,745
精华内容 31,098
关键字:

一级箱二级箱三级箱的区别