-
Spring Boot默认异常处置
所属栏目:[语言] 日期:2022-07-19 热度:140
在日常的 Web 开发中,会经常遇到大大小小的异常,此时往往需要一个统一的异常处理机制,来保证客户端能接收较为友好的提示。Spring Boot 同样提供了一套默认的异常处理机制,本节将对它进行详细的介绍。 Spring Boot 默认异常处理机制 Spring Boot 提供了[详细]
-
Spring Boot日志配置与输出
所属栏目:[语言] 日期:2022-07-19 热度:197
通过上节的学习,我们了解了 Spring Boot 日志框架的选用及统一,本节我们将重点介绍 Spring Boot 日志的配置及输出。 默认配置 Spring Boot 默认使用 SLF4J+Logback 记录日志,并提供了默认配置,即使我们不进行任何额外配,也可以使用 SLF4J+Logback 进[详细]
-
Spring Boot默许配置文件
所属栏目:[语言] 日期:2022-07-19 热度:80
通常情况下,Spring Boot 在启动时会将 resources 目录下的 application.properties 或 apllication.yml 作为其默认配置文件,我们可以在该配置文件中对项目进行配置,但这并不意味着 Spring Boot 项目中只能存在一个 application.properties 或 applicati[详细]
-
IDEA建设Spring Boot项目
所属栏目:[语言] 日期:2022-07-19 热度:102
本节,我们将为您详细讲解如何使用 IDEA 创建一个 Spring Boot 项目。 配置开发环境 在使用 Spring Boot 进行开发之前,第一件事就是配置好开发环境。这里我们以 Windows 操作系统为例,如果您使用的是其他操作系统,请对照其相关设置进行操作。 工欲善其[详细]
-
Spring Boot叫做什么
所属栏目:[语言] 日期:2022-07-19 热度:190
众所周知 Spring 应用需要进行大量的配置,各种 XML 配置和注解配置让人眼花缭乱,且极容易出错,因此 Spring 一度被称为配置地狱。 为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础上提供了一套全新的开源的框架,它就是 Spring Boot[详细]
-
Spring MVC是啥
所属栏目:[语言] 日期:2022-07-19 热度:72
Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。 Spring MVC 是结构最清晰的 Servlet+JSP+JavaBean 的实现,是一个典型的教科书式的 MVC 构架,不像 Struts 等其它框架都是变种或者不是完全基于 MVC 系统[详细]
-
Spring MVC视图分析器 ViewResolver
所属栏目:[语言] 日期:2022-07-19 热度:98
视图解析器(ViewResolver)是 Spring MVC 的重要组成部分,负责将逻辑视图名解析为具体的视图对象。 Spring MVC 提供了很多视图解析类,其中每一项都对应 Java Web 应用中特定的某些视图技术。下面介绍一些常用的视图解析类。 上述 viewClass 值为 Intern[详细]
-
C++ STL distance 函数用法详解 一看就懂
所属栏目:[语言] 日期:2022-07-17 热度:103
我们知道,作用于同一容器的 2 个同类型迭代器可以有效指定一个区间范围。在此基础上,如果想获取该指定范围内包含元素的个数,就可以借助本节要讲的 distance() 函数。 distance() 函数用于计算两个迭代器表示的范围内包含元素的个数,其语法格式如下: t[详细]
-
C++ find_if 和find_if_not 函数用法详解
所属栏目:[语言] 日期:2022-07-17 热度:151
继《C++ find()函数》一节后,本节再讲解 2 个和 find() 功能类似的函数,分别为 find_if() 函数和 find_if_not() 函数。 值得一提的是,find_if() 和 find_if_not() 函数都定义在algorithm头文件中。因此在使用它们之前,程序中要先引入此头文件: #inclu[详细]
-
C++ find_end 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:154
find_end() 函数定义在algorithm头文件中,常用于在序列 A 中查找序列 B 最后一次出现的位置。例如,有如下 2 个序列: 序列 A:1,2,3,4,5,1,2,3,4,5 序列 B:1,2,3 通过观察不难发现,序列 B 在序列 A 中出现了 2 次,而借助 find_end() 函数,可以轻松的[详细]
-
C++ find_first_of 函数完全攻略
所属栏目:[语言] 日期:2022-07-17 热度:83
在某些情境中,我们可能需要在 A 序列中查找和 B 序列中任意元素相匹配的第一个元素,这时就可以使用 find_first_of() 函数。 仅仅用一句话概述 find_first_of() 函数的功能,读者可能并不理解。别急,下面我们将从语法格式的角度继续阐述该函数的功能。 f[详细]
-
C++ adjacent_find 函数用法详解
所属栏目:[语言] 日期:2022-07-17 热度:153
adjacent_find() 函数用于在指定范围内查找 2 个连续相等的元素。该函数的语法格式为: //查找 2 个连续相等的元素 ForwardIterator adjacent_find (ForwardIterator first, ForwardIterator last); //查找 2 个连续满足 pred 规则的元素 ForwardIterator[详细]
-
C++ search 函数用法完全攻略
所属栏目:[语言] 日期:2022-07-17 热度:182
通过《C++ find_end()函数》一节的讲解我们知道,find_end() 函数用于在序列 A 中查找序列 B 最后一次出现的位置。那么,如果想知道序列 B 在序列 A 中第一次出现的位置,该如何实现呢?可以借助 search() 函数。 search() 函数定义在algorithm头文件中,[详细]
-
C++ search_n 函数用法 超级详细
所属栏目:[语言] 日期:2022-07-17 热度:131
《C++ search()函数》一节中,已经详细介绍了 search() 函数的功能和用法。在此基础上,本节再介绍一个功能类似的函数,即 search_n() 函数。 和 search() 一样,search_n() 函数也定义在algorithm头文件中,用于在指定区域内查找第一个符合要求的子序列。[详细]
-
C++ partition 和stable_partition 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:71
partition 可直译为分组,partition() 函数可根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不符合筛选条件的数据。 举个例子,假设有一个数组 a[9],其存储数据如下: 1 2 3 4 5 6 7 8 9[详细]
-
C++ partition_copy 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:106
《C++ partition()和stable_partition()函数》一节中,已经详细介绍了 partition() 和 stable_partition() 函数的功能和用法。不知道读者是否发现,这 2 个函数在实现功能时,都直接修改了原序列中元素的存储位置。 而在某些场景中,我们需要类似 partitio[详细]
-
C++ find函数用法详解
所属栏目:[语言] 日期:2022-07-17 热度:51
find() 函数本质上是一个模板函数,用于在指定范围内查找和目标元素值相等的第一个元素。 如下为 find() 函数的语法格式: InputIterator find (InputIterator first, InputIterator last, const T val); 其中,first 和 last 为输入迭代器,[first, last)[详细]
-
Qt是什么?Qt简介很全面
所属栏目:[语言] 日期:2022-07-17 热度:171
Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 是纯 C++ 开发的,所以学好 C++ 非常有必要,[详细]
-
Qt和其它GUI库的比较
所属栏目:[语言] 日期:2022-07-17 热度:192
世界上的 GUI 库多如牛毛,有的跨平台,有的专属于某个操作系统;有的只有 UI 功能,有的还融合了网络通信、多媒体处理、数据库访问等底层功能。 Windows 下的 GUI 库 Windows 下的 GUI 解决方案比较多: 基于 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI[详细]
-
学习QML或是C++
所属栏目:[语言] 日期:2022-07-17 热度:188
Qt4 时代的主流就是传统部件(或叫控件)编程,所用的语言一般是 C++。 Qt5 诞生之时,正是手机移动设备蓬勃发展的时候,而传统的 C++ 部件编写的界面对手机应用程序非常方便,比如手机屏幕显示随意翻转, 这在传统桌面程序里基本遇不到,谁会将 22 寸显示[详细]
-
C++ lower_bound 函数用法解析
所属栏目:[语言] 日期:2022-07-17 热度:78
前面章节中,已经给大家系统地介绍了几个查找函数,如 find()、find_if()、search() 等。值得一提的是,这些函数的底层实现都采用的是顺序查找(逐个遍历)的方式,在某些场景中的执行效率并不高。例如,当指定区域内的数据处于有序状态时,如果想查找某个[详细]
-
C++ STL all_of any_of及none_of算法细说
所属栏目:[语言] 日期:2022-07-17 热度:70
algorithm 头文件中定义了 3 种算法,用来检查在算法应用到序列中的元素上时,什么时候使谓词返回 true。这些算法的前两个参数是定义谓词应用范围的输入迭代器;第三个参数指定了谓词。检查元素是否能让谓词返回 true 似乎很简单,但它却是十分有用的。 例[详细]
-
C++ equal STL equal 对比算法详解
所属栏目:[语言] 日期:2022-07-17 热度:82
可以用和比较字符串类似的方式来比较序列。如果两个序列的长度相同,并且对应元素都相等,equal() 算法会返回 true。有 4 个版本的 equal() 算法,其中两个用 == 运算符来比较元素,另外两个用我们提供的作为参数的函数对象来比较元素,所有指定序列的迭代[详细]
-
C++ STL lexicographical_compare字符串排序算法说明
所属栏目:[语言] 日期:2022-07-17 热度:81
两个字符串的字母排序是通过从第一个字符开始比较对应字符得到的。第一对不同的对应字符决定了哪个字符串排在首位。字符串的顺序就是不同字符的顺序。如果字符串的长度相同,而且所有的字符都相等,那么这些字符串就相等。如果字符串的长度不同,短字符串[详细]
-
C++ move STL move 函数运用详解
所属栏目:[语言] 日期:2022-07-17 热度:108
move() 算法会将它的前两个输入迭代器参数指定的序列移到第三个参数定义的目的序列的开始位置,第三个参数必须是输出迭代器。这个算法返回的迭代器指向最后一个被移动到目的序列的元素的下一个位置。 这是一个移动操作,因此无法保证在进行这个操作之后,[详细]