- 博客(29)
- 收藏
- 关注
原创 springMVC(5)
preHandle()返回false和它之前的拦截器的preHandle()都会执行,postHandle()都不执行,返回false的拦截器之前的拦截器的afterComplation()会执行。preHandle控制器方法执行之前执行preHandle(),其boolean类型的返回值表示是否拦截或放行,返回true为放行,即调用控制器方法;preHandle()会按照配置的顺序执行,而postHandle()和afterComplation()会按照配置的反序执行。...
2022-07-24 22:53:33
360
1
原创 springMVC(4)
RequestEntity封装请求报文的一种类型,需要在控制器方法的形参中设置该类型的形参,当前请求的请求报文就会赋值给该形参,可以通过getHeaders()获取请求头信息,通过getBody()获取请求体信息。@RestController注解是springMVC提供的一个复合注解,标识在控制器的类上,就相当于为类添加了@Controller注解,并且为其中的每个方法添加了@ResponseBody注解。4.将Java对象直接作为控制器方法的返回值返回,就会自动转换为Json格式的字符串。...
2022-07-24 22:53:01
156
原创 springMVC(2)
SpringMVC路径中的占位符常用于RESTful风格中,当请求路径中将某些数据通过路径的方式传输到服务器中,就可以在相应的@RequestMapping注解的value属性中通过占位符{xxx}表示传输的数据,在通过@PathVariable注解,将占位符所表示的数据赋值给控制器方法的形参。在控制器方法的形参位置,设置和请求参数同名的形参,当浏览器发送请求,匹配到请求映射时,在DispatcherServlet中就会将请求参数赋值给相应的形参。...
2022-07-17 22:11:17
99
原创 springMVC (1)
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。MModel(模型层)。指工程中的JavaBean,作用是处理数据。一类称为实体类Bean专门存储业务数据的,如Student、User等。一类称为业务处理Bean指Service或Dao对象,专门用于处理业务逻辑和数据访问。VView,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据。CController,控制层,指工程中的servlet,作用是接收请求和响应浏览器。...
2022-07-17 22:10:48
79
原创 事务管理补充
在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术。事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行。在上篇笔记中已经介绍事务的四个关键属性1.原子性2.一致性3.隔离性4.持久性对事务管理相关内容的基础补充。...
2022-07-17 13:44:56
175
原创 spring——事务管理
1.如果不配置事务,可能存在数据提交不一致的情况;2.如果我们不在Spring中去配置声明式事务,我们就需要在代码中手动配置事务,较麻烦。3.事务在项目的开发中十分重要,涉及到数据的一致性和完整性问题,不容马虎!事务特性:spring事务传播特性:事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播。spring支持7种事务传播行为:propagation_requierd:如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入到这个事务中,这是最常见的选择。propagation
2022-07-10 22:04:12
70
原创 spring——AOP
在软件业,AOP(Aspect Oriented Programming)为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。实现步骤:将程序中重复的代码抽取出来(例如一个方法),使其成为一个切面,在需要使用某个方法的时候,通过在不修改源码的基础上,利用该切面实现对该方法的增强。AOP的优势:1.减少重复代码,对代码中重复部分进行抽取2.提高开发效率,
2022-07-07 10:31:57
126
原创 算法1——迪杰斯特拉算法
迪杰斯特拉算法采用贪心算法的策略,将所有顶点分为已标记点和未标记点两个集合,从起始点开始,不断在未标记点中寻找距离起始点路径最短的顶点,并将其标记,直到所有顶点都被标记为止。需要注意的一点是该方法不能处理带有负权边的图。问题描述:算法思想:把顶点集合V分成两组:(1)S:已求出的顶点的集合(初始时只含有源点V0)(2)V-S=T:尚未确定的顶点集合将T中顶点按递增的次序加入到S中,保证:(1)从源点V0到S中其他各顶点的长度都不大于从V0到T中任何顶点的最短路径长度(2)每个顶点对应一个距离值
2022-07-06 22:39:16
2032
原创 数据结构——栈(stack)
栈(stack)1.子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中。2.处理参数递归调用:和子程序的调用类似,只是除了存储下一个指令的地址外,也将参数、区域变量等数据存入堆栈中。3.表达式的转换【中缀表达式转后缀表达式】和求值。4.二叉树的遍历5.图形的深度优先搜索法栈代码实现(数组):输出结果:栈实现计算器:中缀表达式的求值是平常最为熟悉的,但是对计算机说却不好操作(上述代码有些冗杂)。因此,在计算结束时,往往会将中缀表达
2022-07-06 17:21:55
982
原创 spring5 学习3—— IOC
添加p名称空间在配置文件中:接下来进行属性注入,在bean标签里添加 p:name=""即可。(1)(2)(1)(2)(3)输出结果:上图中蓝色部分是嵌套内部bean。此处不再使用 ref 进行赋值,而是在其内部使用bean标签。......
2022-06-06 18:28:36
52
原创 spring5 学习2——IOC认知
1.什么是IOC?(1)IOC的翻译是控制反转,把对象创建和对象之间的调用过程,交给spring进行管理。(2)使用IOC可以降低耦合度。IOC 的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理。一、资源集中管理,实现资源的可配置和易管理。二、降低了使用资源双方的依赖程度,也就是我们说的耦合度。IOC底层原理:1.xml解析2.工厂模式3.反射(得到class文件)工厂模式解耦:1.通过新建工厂类,创建返回其它类对象的方法。2.在别的类里调用该
2022-05-30 23:38:10
100
原创 Java复习2——Date & Calendar
文章目录前言一、时间日期1.Date2.SimpleDateFormat3.Calendar二、包装类1.引入库2.读入数据三、正则表达式总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、时间日期1.DateDate类的对象在Java中代表的是当前所在系统的此刻日期时间。2.SimpleDateFormat3.Calen
2022-05-30 20:10:00
368
原创 Spring5 学习1——总体学习内容
Spring5总体学习内容:1.Spring 框架概述2.IOC容器3.Aop4.JdbcTemplate (更方便与数据库操作)5.事务管理6.Spring5 新特性Spring框架概述Spring框架是轻量级的开源的JavaEE框架。目的:解决企业应用开发的复杂性Spring有两个核心部分:IOC和Aop(1)IOC:控制反转,把创建对象的过程交给spring进行管理,不用new对象。(2)Aop:面向切面,在不修改源代码的情况下进行功能的添加增强。Spring特点
2022-05-24 22:42:56
153
3
原创 Java复习1——static
文章目录一、static静态关键字1.static修饰成员变量2.static修饰成员方法二、static工具类三、static代码块四、static单例一、static静态关键字1.static修饰成员变量属于类,内存中加载一次,可被共享访问。同一个类中访问static变量,可以省略类名。2.static修饰成员方法实例方法:表示对象自己的行为,且方法中需要访问实例成员的,该方法必须声明成实例方法。静态方法:该方法是通用功能,与单个对象无关。内存原理:main方法和静态方法先加载到方法
2022-05-24 20:15:23
493
2
原创 go单元测试简单题目
go语言的单元测试对go的序列化,反序列化操作;把内容写入文件,对文件进行读取;通过单元测试检测正误。monster文件 对结构体进行上述操作package monster //只要不起主包名皆可import ( "encoding/json" "io/ioutil" "fmt")type Monster struct { Name string Age int Skill string}//给Monster绑定方法Store,将Monster变量(对象),序列化后保
2022-04-07 20:05:53
150
原创 go语言学习【十二】
文章目录一、命令行参数使用二、json(1) json数据格式说明(2) json的序列化(3) json的反序列化三、单元测试一、命令行参数使用需求:希望能够获取到命令行输入的各种参数,该如何处理?答:使用命令行参数os.Args是一个切片,用来存储所有的命令行参数。应用案例:编写一段代码,可以获取命令行各个参数。package mainimport( "fmt" "os")func main(){ fmt.Println("命令行的参数有:",len(os.Args))
2022-04-03 23:50:35
575
原创 go语言学习【十一】
目录一、文件基本介绍二、读文件常用操作三、写文件常用操作四、判断文件或目录存在五、拷贝文件六、文件编程应用实例一、文件基本介绍文件是数据源(保存数据的地方)的一种。文件在程序中是以流的形式来操作的。流:数据在数据源(文件)和程序(内存)之间经历的路径。输入流:读文件;输出流:写文件。os.File封装所有文件相关操作,File是一个结构体。二、读文件常用操作//读取和关闭文件package mainimport( "fmt" "os")func main() { //打
2022-03-28 17:14:58
367
原创 go语言学习【十】
客户管理系统1.主菜单和退出2.添加客户3.删除客户4.修改客户信息通过使用不同的包,以及对包的引用,实现客户管理系统。customerView.gopackage mainimport ( "fmt" "go_code/customerManage/service" "go_code/customerManage/model")type customerView struct { key string //接收用户输入 loop bool //表示是否循环显示主菜单
2022-03-20 22:37:21
212
原创 go语言学习【九】
【多态-类型断言】面向对象编程-多态 基本介绍变量(实例)具有多种形态。在Go语言,多态特征是通过接口实现的。可以按照统一的接口来调用不同的实现。这时接口变量就呈现不同的形态。接口体现多态特征的两种形式:(1)多态参数如Usb接口案例,Usb usb,即可以接收手机变量,又可以接收相机变量,就体现了Usb 接口多态。//Usb接口案例,由于·传入实参不同,会判断是哪种类型。//接口变量就体现出多态的特点。func (c Computer) Worh来调用Start和Stop方法 us
2022-03-14 19:29:54
327
原创 go语言学习【八】
目录:1.接口2.接口和继承比较1.接口(interface)接口快速入门:package mainimport ( "fmt")//定义一个接口type Usb interface { //声明两个没有实现的方法 Start() Stop()}type Phone struct {}//让Phone实现Usb接口的方法func (p Phone) Start() { fmt.Println("手机开始工作")}func (p Phone) Stop() { f
2022-03-06 22:56:28
64
原创 go语言学习【七】
目录:1.面向对象编程实例2.工厂模式3.封装4.继承1.面向对象编程实例步骤:(1)声明结构体,确定结构体名。(2)编写结构体的字段(3)编写结构体的方法// 1.学生案例package mainimport "fmt"type Student struct { name string gender string age int id int score float64}func(stu *Student) say() string { inforstu
2022-02-27 22:03:29
113
原创 go语言学习【六】
目录:1.map2.结构体3.结构体中的方法1.mapmap是key-value数据结构,又称为字段或者关联数组。类似其它编程语言的集合。var map变量名 map[keytype]valuetypekey类型通常为int,string注意:slice,map,function不可以,因为这几个没法用==判断valuetype类型通常为:数字(整数,浮点数),string,map,structmap声明案例:var a map[string]stringvar a map[int
2022-02-20 23:04:03
189
原创 go语言学习【四】
目录如下:1.for 循环控制2.3.4.5.6.1.for 循环控制基本语法及简单案例for 循环变量初始化;循环条件;循环变量迭代 { 循环操作(语句)} //简单案例:for i:=1;i<7;i++ { //循环条件为false时,退出for循环 fmt.Println("hello") }注意事项:(1) 循环条件是返回一个布尔值的表达式(2)Go语言没有 while 和 do…while 语法,可以通过 for 循环来实现其使用效
2022-02-07 15:55:14
513
4
原创 go语言学习【三】
目录如下:1. 标识符2. 运算符3. 键盘输入语句4.if-else分支5.switch分支1.go语言中的标识符:只能由英文字母(a-z / A-Z)、数字(0-9)、下划线(_)组成。标识符严格区分英文大小写。标识符不能以数字开头标识符不能包含空格不能使用单个 下划线(_)作为标识符。不能使用系统关键字作为标识符,例如:if、int、break等等。2.运算符(用以表示数据的运算、赋值和比较):算数运算符赋值运算符关系运算符逻辑运算符位运算符其它运算符1
2022-01-30 20:09:06
933
原创 go语言学习【一】
Go语言基础知识go语言既有c静态语言程序的运行速度,又能达到Python动态语言的快速开发。这是一门简洁高效的编程语言。(一)Go语言的发展方向golang学习方向:区块链研发工程师go服务器端 / 游戏软件工程师golang分布式 / 云计算软件工程师golang应用领域:区块链应用开发后端服务器应用云计算 / 云服务后台应用(二)Go语言的基本框架1. 包 //go语言的每一个文件都要归属于一个包package main //表明文件所在的包是main2.引用包
2022-01-23 12:08:29
952
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人