- 博客(57)
- 收藏
- 关注
原创 前端技术学习第八讲:VUE基础语法---VUE常用指令
在VUE学习中,通常使用相关指令使VUE对象中的内容与网页进行挂载绑定,是我们的数据与视图之间产生关联,完成渐进式动态效果。VUE指令都会以“v-”开头。
2023-07-10 20:04:51
508
原创 SpringMVC第八讲:SpringMVC整合thymeleaf
Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernández创建,该作者还是Java加密库Jasypt的作者。Thymeleaf提供了一个用于整合Spring MVC的可选模块,在应用开发中,你可以使用Thymeleaf来完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。
2023-07-09 15:17:18
1159
原创 SpringMVC第六讲:SpringMVC拦截器
它可以对用户请求进行拦截,并在请求进入控制器(Controller)之前、控制器处理完请求后、甚至是渲染视图后,执行一些指定的操作。在 Spring MVC 中,拦截器的作用与 Servlet 中的过滤器类似,它主要用于拦截用户请求并做相应的处理。Spring MVC 拦截器使用的是可插拔式的设计,如果我们需要某一拦截器,只需在配置文件中启用该拦截器即可;SpringMVC配置拦截器,拦截器配置有两种方式,第一种方式为全局拦截器,即所有请求方法都会被拦截;的顺序,否则就会报错。Spring拦截器类。
2023-07-09 15:15:14
204
原创 SpringMVC第五讲:SpringMVC实现AJAX及JSON格式转换
AJAX异步提交是页面与程序交互的重要手段之一,在SpringMVC中,也支持页面向Controller控制器发送异步请求。当页面发送AJAX请求时,如果请求的数据格式为JSON格式时,需要在形参上加入@RequestBody注解,@RequestBody注解可以帮助我们实现对数据的绑定。//传输格式必须是JSON,如果仅以数据传递,则无法封装数据,普通数据根据参数名SpringMVC会自动封装,JSON格式需要配置@RequestBody。//传输格式为JSON格式时,需要配置请求内容格式及编码格式。
2023-07-09 15:14:17
885
原创 SpringMVC第四讲:SpringMVC实现RESTFul风格
RESTful(REST 风格)是一种当前比较流行的互联网软件架构模式,它充分并正确地利用 HTTP 协议的特性,为我们规定了一套统一的资源获取方式,以实现不同终端之间(客户端与服务端)的数据访问与交互。在传统的项目开发中,我们通常都会将操作资源的动词写进 URL 中,而这些动词通常都是我们自行定义的,并没有一个统一的规范。RESTFul 提倡我们使用统一的风格来设计 URL。通俗来讲,就是为我们的请求路径设计整套的统一风格,摒弃传统?+&符号传参,通过“/”分割参数,实现标准化统一的访问路径。
2023-07-09 15:13:00
269
原创 SpringMVC第三讲:SpringMVC请求和响应
ModelAndView 对象由 model(模型数据)和 view(视图)两部分组成,但这里的 view 通常并不是一个真正的 View 视图对象,而仅仅是一个 String 类型的逻辑视图名(View Name)而已,例如“success”、“index”等。在 Controller 的控制器方法的形参中设置一个实体类形参,如果请求参数的参数名与实体类中的属性名一致,那么 Spring MVC 会自动将请求参数封装到该实体类对象中。在控制器方法中设置一个 HttpSession 类型的形参。
2023-07-09 15:11:57
201
原创 SpringMVC第二讲:SpringMVC工程搭建
在web.xml中添加spring监听和springMVC映射。创建springMVC配置文件。pom.xml中添加资源。创建controller。
2023-07-09 15:10:34
597
原创 SpringMVC第一讲:SpringMVC基础知识
Spring MVC 使用 MVC 架构模式的思想,将 Web 应用进行职责拆分,把一个复杂的 Web 应用划分成模型(Model)、控制器(Contorller)以及视图(View)三层,有效地简化了 Web 应用的开发,降低了出错风险,同时也方便了开发人员之间的分工配合。增加了系统结构和实现的复杂性:对于简单的应用,如果也严格遵循 MVC 模式,按照模型、视图与控制器对系统进行划分,无疑会增加系统结构的复杂性,并可能产生过多的更新操作,降低运行效率。
2023-07-09 15:08:55
140
原创 Spring第三讲:SpringAOP面向切面编程
AOP(Aspect Orient Programming),面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向切面编程,实现在不修改源代码的情况下给程序动态统一添加额外功能的一种技术。AOP可以拦截指定的方法并且对方法增强,而且无需侵入到业务代码中,使业务与非业务处理逻辑分离,比如Spring的事务,通过事务的注解配置,Spring会自动在业务方法中开启、提交业务,并且在业务处理失败时,执行相应的回滚策略。
2023-07-02 15:33:55
689
原创 Spring第四讲:Spring综合练习【Spring+MyBatis+Servlet整合】
实现servlet使用spring注入对象。servlet中加入注解及init方法。自定义切面实现统计方法执行时间。MyBatis核心配置文件。在web.xml中加入监听。pom.xml引入资源。Spring配置文件。Service业务层。
2023-07-02 15:33:53
388
原创 Spring第二讲:SpringIoC控制反转、依赖注入
在传统的 Java 应用中,一个类想要调用另一个类中的属性或方法,通常会先在其代码中通过 new 的方式将后者的对象创建出来,然后才能实现属性或方法的调用。但在 Spring 应用中,Java 对象创建的控制权是掌握在 IoC 容器手里,开发者通过XML或注解的配置将Java对象的管理权交给IoC容器,对象的创建由Spring完成。当开发者需要用到对象时,可以直接从Spring中获取对象,不需要再自行创建。IoC 带来的最大改变不是代码层面的,而是从思想层面上发生了“主从换位”的改变。
2023-07-02 15:32:34
1878
原创 Spring第一讲:Spring基础概念和环境搭建
Spring 的核心容器是其他模块建立的基础,由 Beans 模块、Core 核心模块、Context 上下文模块和 SpEL 表达式语言模块组成,没有这些核心容器,也不可能有 AOP、Web 等上层的功能。时至今日,Spring 俨然成为了 Java EE 代名词,成为了构建 Java EE 应用的事实标准。Spring 框架是一个分层的、面向切面的 Java 应用程序的一站式轻量级解决方案,它是 Spring 技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的。
2023-07-02 15:28:21
801
原创 MyBatis第九讲:MyBatis日志及懒加载
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息的输出的;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。懒加载就是懒得加载,只有使用的时候才进行加载。其实,懒加载也叫延迟加载,主要以应用与Mybatis的关联查询,按照设置的延迟规则,推迟对延迟对关联对象的select查询。在MyBatis核心配置文件中的settings设置log4j日志。
2023-06-22 21:24:09
542
原创 MyBatis第八讲:MyBatis集成PageHelper实现分页
在数据查询中,经常遇到大批量数据的查询,在显示过程中,为了缓解数据获取压力,也为了用户体验的提高,经常使用分页技术实现数据查询。常规分页查询主要使用SQL语句中的limit关键字进行查询。pageHelper是一个Mybatis的分页插件, 负责将已经写好的sql语句, 进行分页加工。通过这些核心数据,对数据尽心分割计算,实现分页。在MyBatis中,MyBatis给我们提供了快速分页的插件工具PageHelper。pageHelper官网:https://pagehelper.github.io/
2023-06-22 21:22:52
723
原创 MyBatis第五讲:MyBatis关联查询
注意:有时我们为了方便,在不同的表中存在相同字段名,或在不同实体对象中存在相同属性名,这样在关联查询时可能会造成查询结果不正确,经常遇到的就是集合中只有一条数据,但是在数据库中存在多条结果,这样问题,只要调整字段名和属性名即可。当数据库出现表与表之间一对多关系时,一的一方可以获取到多的一方的集合,多的一方可以获取到一的一方的对象。多对多查询,它的本质就是两个一对多的组合,同样它所使用的标签元素也是 collection标签。当数据库出现表与表之间一对一关联时,通过resultMap映射出实体信息。
2023-06-22 21:19:49
336
原创 MyBatis第七讲:MyBatis动态SQL
动态 SQL 是 MyBatis 的强大特性之一。在 开发过程中,经常出现开发人员需要手动拼接 SQL 语句。根据不同的条件拼接 SQL 语句是一件极其痛苦的工作。例如,拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态 SQL 恰好解决了这一问题,可以根据场景动态的构建查询。动态 SQL 大大减少了编写代码的工作量,更体现了 MyBatis 的灵活性、高度可配置性和可维护性。
2023-06-22 21:19:36
500
原创 MyBatis第六讲:MyBatis缓存
一级缓存是基于MyBatis自带的 HashMap 本地缓存,作用范围为 SqlSession 域内。因为使用 SqlSession 第一次查询后,MyBatis 会将其放在缓存中,再次查询时,如果没有刷新,并且缓存没有超时的情况下,SqlSession 会取出当前缓存的数据,而不会再次发送 SQL 到数据库。但是由于 SqlSession 是相互隔离的,所以如果你使用不同的 SqlSession 对象,即使调用相同的 Mapper方法,MyBatis 还是会再次发送 SQL 到数据库执行,返回结果。
2023-06-22 21:18:34
1234
原创 MyBatis第四讲:MyBatis事务管理
在MyBatis核心配置文件中,配置数据源时,可以通过transactionManager设置事务管理,Mybatis默认为手动提交事务,即手动调用事务处理方法。事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。当对数据进行增删改操作或对以整体业务数据操作后,可以使用SqlSession的commit方法实现事务提交。当对数据进行增删改操作或对以整体业务数据操作后,可以使用SqlSession的commit方法实现事务回滚。
2023-06-22 21:16:50
475
原创 MyBatis第三讲:MyBatis实现CRUD
在MyBatis映射中,如果数据库字段名与实体对象属性名一致,可以使用resultType进行映射,如果出现数据库字段名与实体对象属性名不一致时,在mapper.xml配置文件中,使用resultMap标签进行映射。MyBatis中在使用方法时,需要向方法传递所需要的参数,mapper配置文件会根据方法的参数进行解析,将所需要的参数配置到SQL语句中。param1和param2的数值,是方法的参数顺序,必须严格按照参数顺序传参,在参数较多的情况下不够灵活。可以接收简单型值或实体对象属性值,如果。
2023-06-22 21:15:54
472
原创 MyBatis第一讲:MyBatis
*框架(Framework)**是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。开发者可以根据自己的需求定制框架中的某些部分,或者在框架的基础上添加新的功能。实现个性化应用程序开发。框架依据提供功能不同,可以简单划分为前端框架、web框架、ORM框架等。早期比较主流的框架组合为SSH,是指使用struts/struts2,spring,hibernate。
2023-06-22 21:14:51
421
原创 MyBatis第二讲:MyBatis基础配置
mapper.xml中使用#{参数名}进行传参,相当于JDBC中的为?传值,如果参数是具体数据类型,那么直接使用参数名,如果参数是对象,则使用对象属性名。
2023-06-22 21:14:32
59
原创 前端技术学习第七讲:VUE基础语法---初识VUE
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。VUE作者,尤雨溪,2014 年 2 月,vue第一次发布在 Github 上,并把链接发送到了 Hacker News 上,它就被顶到了首页,然后它在首页待了好几个小时。
2023-04-23 08:37:24
486
原创 Java基础学习第二十五讲:自定义注解
/声明自定义注解 @Retention(RUNTIME) @Target(FIELD) public @interface MyAnn {//不在showview里面实例化 public static void MyFac() {try {//获取要执行的类 Class c = Class . forName("com.woniuxy.crm.view.ShowView");//通过属性名获取属性 Field f = c . getDeclaredField("userService");
2023-04-06 18:01:23
403
原创 Java基础学习第二十四讲:Stream流
Stream流操作是Java 8提供一个重要新特性,它允许开发人员以声明性方式处理集合,其核心类库主要改进了对集合类的 API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到Java中,能 让代码更加简洁,极大地简化了集合的处理操作,提高了开发的效率和生产力。同时stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。
2023-04-04 15:18:08
411
原创 Java初级项目学习第一讲:Maven项目构建
Maven项目构建一、什么是MavenMaven这个单词来自于意第绪语(犹太语),意为知识的积累。Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。二、Maven
2022-04-17 22:05:17
2040
原创 前端技术学习第六讲:JavaScript 解析JSON
JavaScript 解析JSON一、JSONJSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。
2022-04-07 23:05:55
837
原创 前端技术学习第五讲:JavaScript正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
2022-04-05 23:12:34
1146
原创 前端技术学习第五讲:JavaScript高级应用
JavaScript高级应用一、JavaScript定时器定时器,有时也称为“计时器”,用来在经过指定的时间后执行某些任务,类似于我们生活中的闹钟。在 JavaScript 中,我们可以利用定时器来延迟执行某些代码,或者以固定的时间间隔重复执行某些代码。JavaScript 中提供了两种方式来设置定时器,分别是 setTimeout() 和 setInterval()。方法名称方法描述setTimeout()在指定的时间后(单位为毫秒),执行某些代码,代码只会执行一次set
2022-03-29 00:20:33
224
原创 前端技术学习第四讲:JavaScript中DOM和BOM
JavaScript中DOM和BOM一、DOM和BOMDOM:文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(HTMl和XML文档是通过说明部分定义的)。BOM:浏览器对象模型(Browser Object Model),简称BOM),是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可
2022-03-27 23:56:33
1820
原创 前端技术学习第三讲:JavaScript基础语法
JavaScript基础语法与DOM一、JavaScript基础语法JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。1、变量2、数据类型3、数组4、对象5、操作符6、条件语句7、循环语句8、方法(函数)二、DOM文档对象模型(Document Obje
2022-03-26 00:17:55
927
原创 前端技术学习第一讲:HTML
HTML一、什么是HTMLHTML的英文全称是 Hyper Text Markup Language,为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。二、HTML有什么特点简易性:HTML版本升级采用超集方式,从而更加灵活方便。可扩展性:HTML的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语
2022-03-23 23:58:56
1633
原创 Java基础学习第二十二讲:Java多线程
Java多线程一、进程和线程进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于 CPU 具备分时机制,所以每个进程都能循环获得自己的CPU 时间片。由于 CPU 执行速度非常快,使得所有程序好像是在同时运行一样。多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,线程是进程的基础之上进行进一步的划分。所谓多线程是
2022-03-21 19:26:26
310
原创 Java基础学习第二十一讲:Java反射机制
Java反射机制Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。用一句话总结就是反射可以实现在运行时可以知道任意一个类的属性和方法。个人理解:Java在编译期间,使用new关键字去创建一个对象的实例,属于静态编译,反射机制则属于动态编译,反射只有到运行时他才会去获得该对象的实例。反射重点在一个“反”字。我们常用的方式是先知道类,然后知道类的属性
2022-03-18 00:03:58
448
原创 Java基础学习第二十讲:Java序列化
Java序列化一、序列化和反序列化序列化:指堆内存中的java对象数据,通过某种方式把对存储到磁盘文件中,或者传递给其他网络节点(网络传输)。这个过程称为序列化,通常是指将数据结构或对象转化成二进制的过程。反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象模型的过程。也就是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。二、实现对象序列化public class Student implements Serializable{ private st
2022-03-17 19:47:15
313
原创 Java基础学习第十九讲:Java文件操作---I/O流
Java文件操作—I/O流流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。实际上,流的源端和目的端可简单地看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读数据,而对输出流,也可不知道它的目的端,只是简单地往流中写数据。流是一组有顺序的,有起点和终
2022-03-17 01:07:29
613
原创 Java基础学习第十八讲:Java异常
Java异常Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流。为了能够及时有效地处理程序中的运行错误,Java中引入了异常类的概念。异常类的引入即明确了程序在执行过程中发生的什么问题,又提供类针对异常进行处理的解决方案。...
2022-03-15 19:49:20
799
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人