-
Spring Boot叫做什么
所属栏目:[语言] 日期:2022-07-21 热度:77
众所周知 Spring 应用需要进行大量的配置,各种 XML 配置和注解配置让人眼花缭乱,且极容易出错,因此 Spring 一度被称为配置地狱。 为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础上提供了一套全新的开源的框架,它就是 Spring Boot。[详细]
-
IDEA建设Spring Boot项目
所属栏目:[语言] 日期:2022-07-21 热度:132
本节,我们将为您详细讲解如何使用 IDEA 创建一个 Spring Boot 项目。 配置开发环境 在使用 Spring Boot 进行开发之前,第一件事就是配置好开发环境。这里我们以 Windows 操作系统为例,如果您使用的是其他操作系统,请对照其相关设置进行操作。 工欲善其事[详细]
-
Spring Boot默许配置文件
所属栏目:[语言] 日期:2022-07-21 热度:104
通常情况下,Spring Boot 在启动时会将 resources 目录下的 application.properties 或 apllication.yml 作为其默认配置文件,我们可以在该配置文件中对项目进行配置,但这并不意味着 Spring Boot 项目中只能存在一个 application.properties 或 application[详细]
-
Spring Boot日志配置与输出
所属栏目:[语言] 日期:2022-07-21 热度:199
通过上节的学习,我们了解了 Spring Boot 日志框架的选用及统一,本节我们将重点介绍 Spring Boot 日志的配置及输出。 默认配置 Spring Boot 默认使用 SLF4J+Logback 记录日志,并提供了默认配置,即使我们不进行任何额外配,也可以使用 SLF4J+Logback 进行[详细]
-
Spring Boot默认异常处置
所属栏目:[语言] 日期:2022-07-21 热度:69
在日常的 Web 开发中,会经常遇到大大小小的异常,此时往往需要一个统一的异常处理机制,来保证客户端能接收较为友好的提示。Spring Boot 同样提供了一套默认的异常处理机制,本节将对它进行详细的介绍。 Spring Boot 默认异常处理机制 Spring Boot 提供了一[详细]
-
Spring Boot JDBC寻访数据库
所属栏目:[语言] 日期:2022-07-21 热度:157
对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 都默认采用整合 Spring Data 的方式进行统一处理,通过大量自动配置,来简化我们对数据访问层的操作,我们只需要进行简单的设置即可实现对书层的访问。本节,我们将[详细]
-
首个Spring MVC程序
所属栏目:[语言] 日期:2022-07-21 热度:107
本节通过一个简单的 Web 应用 springmvcDemo 来演示如何创建 Spring MVC 程序。 搭建步骤如下: 创建 Web 应用并引入 JAR 包,本教程 Spring 使用版本为 5.2.3 Spring MVC 配置:在 web.xml 中配置 Servlet,创建 Spring MVC 的配置文件 创建 Controller(处[详细]
-
Spring MVC和Struts2的差异
所属栏目:[语言] 日期:2022-07-21 热度:126
Spring MVC 和 Struts2 类似,是一款基于传统 MVC 设计模式的 Java EE 框架。它的核心是一个弹性的控制层,能够很好地发挥 MVC 模式的分离显示逻辑和业务逻辑的能力。 而近年来越来越多的开发者选择使用 Spring MVC 技术来代替 Struts2 技术,那么相比于 Str[详细]
-
Spring MVC视图分析器 ViewResolver
所属栏目:[语言] 日期:2022-07-21 热度:137
视图解析器(ViewResolver)是 Spring MVC 的重要组成部分,负责将逻辑视图名解析为具体的视图对象。 Spring MVC 提供了很多视图解析类,其中每一项都对应 Java Web 应用中特定的某些视图技术。下面介绍一些常用的视图解析类。 上述 viewClass 值为 Internal[详细]
-
Spring MVC实行流程
所属栏目:[语言] 日期:2022-07-20 热度:139
在学习框架之前,首先来了解一下 Spring MVC 框架的整体请求流程和使用到的 API 类。 Spring MVC 涉及到的组件有 DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)、HandlerAdapter(处理器适配器)、Handler(处理器)、ViewResolver(视[详细]
-
Spring MVC @Controller和@RequestMapping解析
所属栏目:[语言] 日期:2022-07-20 热度:80
Spring 2.5 版本新增了 Spring MVC 注解功能,用于替换传统的基于 XML 的 Spring MVC 配置。 在《第一个Spring MVC应用》一节中创建了两个传统风格的控制器,它们是实现 Controller 接口的类。传统风格的控制器不仅需要在配置文件中部署映射,而且只能编写一[详细]
-
Spring MVC传递数据
所属栏目:[语言] 日期:2022-07-20 热度:192
Spring MVC Controller 接收请求参数的方式有很多种,有的适合 get 请求方式,有的适合 post 请求方式,有的两者都适合。主要有以下几种方式: 通过实体 Bean 接收请求参数 通过处理方法的形参接收请求参数 通过 HttpServletRequest 接收请求参数 通过 @Path[详细]
-
Spring MVC重定向及转发
所属栏目:[语言] 日期:2022-07-20 热度:182
Spring MVC 请求方式分为转发、重定向 2 种,分别使用 forward 和 redirect 关键字在 controller 层进行处理。 重定向是将用户从当前处理请求定向到另一个视图(例如 JSP)或处理请求,以前的请求(request)中存放的信息全部失效,并进入一个新的 request[详细]
-
Spring MVC @Autowired和@Service解释
所属栏目:[语言] 日期:2022-07-20 热度:173
将依赖注入到 Spring MVC 控制器时需要用到 @Autowired 和 @Service 注解。 @Autowired 注解属于 org.springframework.beans.factory. annotation 包,可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 @Service 注解属于 org.springframewo[详细]
-
Spring MVC @ModelAttribute说明
所属栏目:[语言] 日期:2022-07-20 热度:93
本文介绍在 Spring MVC 中非常重要的注解 @ModelAttribute,用来将请求参数绑定到 Model 对象。 以上示例,在请求 /model?name=%E7%BC%96%E7%A8%8B%E5%B8%AE 后,Spring MVC 会先执行 myModel 方法,将 name 的值存入到 Model 中。然后执行 model 方法,这样[详细]
-
Spring MVC类别转换器 Converter
所属栏目:[语言] 日期:2022-07-20 热度:97
Spring MVC 框架的 ConverterS,T 是一个可以将一种数据类型转换成另一种数据类型的接口,这里 S 表示源类型,T 表示目标类型。开发者在实际应用中使用框架内置的类型转换器基本上就够了,但有时需要编写具有特定功能的类型转换器。 例如,用户输入的日期可[详细]
-
Spring MVC JSON数据交换
所属栏目:[语言] 日期:2022-07-20 热度:166
Spring MVC 在数据绑定的过程中需要对传递数据的格式和类型进行转换,它既可以转换 String 等类型的数据,也可以转换 JSON 等其他类型的数据。本节将针对 Spring MVC 中 JSON 类型的数据交互进行讲解。 JSON 概述 JSON(JavaScript Object Notation, JS 对象[详细]
-
Spring MVC异常解决
所属栏目:[语言] 日期:2022-07-20 热度:118
在 Spring MVC 应用的开发中,不管是操作底层数据库,还是业务层或控制层,都会不可避免地遇到各种可预知的、不可预知的异常。我们需要捕捉处理异常,才能保证程序不被终止。 Spring MVC 有以下 3 种处理异常的方式: 使用 Spring MVC 提供的简单异常处理器[详细]
-
C++ STL distance 函数用法详解 一看就懂
所属栏目:[语言] 日期:2022-07-19 热度:189
我们知道,作用于同一容器的 2 个同类型迭代器可以有效指定一个区间范围。在此基础上,如果想获取该指定范围内包含元素的个数,就可以借助本节要讲的 distance() 函数。 distance() 函数用于计算两个迭代器表示的范围内包含元素的个数,其语法格式如下: tem[详细]
-
C++ find_if 和find_if_not 函数用法详解
所属栏目:[语言] 日期:2022-07-19 热度:94
继《C++ find()函数》一节后,本节再讲解 2 个和 find() 功能类似的函数,分别为 find_if() 函数和 find_if_not() 函数。 值得一提的是,find_if() 和 find_if_not() 函数都定义在algorithm头文件中。因此在使用它们之前,程序中要先引入此头文件: #include[详细]
-
C++ find_end 函数详解
所属栏目:[语言] 日期:2022-07-19 热度:186
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-19 热度:58
在某些情境中,我们可能需要在 A 序列中查找和 B 序列中任意元素相匹配的第一个元素,这时就可以使用 find_first_of() 函数。 仅仅用一句话概述 find_first_of() 函数的功能,读者可能并不理解。别急,下面我们将从语法格式的角度继续阐述该函数的功能。 fin[详细]
-
C++ adjacent_find 函数用法详解
所属栏目:[语言] 日期:2022-07-19 热度:132
adjacent_find() 函数用于在指定范围内查找 2 个连续相等的元素。该函数的语法格式为: //查找 2 个连续相等的元素 ForwardIterator adjacent_find (ForwardIterator first, ForwardIterator last); //查找 2 个连续满足 pred 规则的元素 ForwardIterator ad[详细]
-
C++ search 函数用法完全攻略
所属栏目:[语言] 日期:2022-07-19 热度:144
通过《C++ find_end()函数》一节的讲解我们知道,find_end() 函数用于在序列 A 中查找序列 B 最后一次出现的位置。那么,如果想知道序列 B 在序列 A 中第一次出现的位置,该如何实现呢?可以借助 search() 函数。 search() 函数定义在algorithm头文件中,其[详细]
-
C++ search_n 函数用法 超级详细
所属栏目:[语言] 日期:2022-07-19 热度:121
《C++ search()函数》一节中,已经详细介绍了 search() 函数的功能和用法。在此基础上,本节再介绍一个功能类似的函数,即 search_n() 函数。 和 search() 一样,search_n() 函数也定义在algorithm头文件中,用于在指定区域内查找第一个符合要求的子序列。不[详细]
