自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 个人博客论坛系统测试报告

基于Spring前后端分离的博客论坛系统,实现了要点:1、使用统⼀返回格式+全局错误信息定义处理前后端交互时的返回结果;2、使用@ControllerAdvice+@ExceptionHandler实现全局异常处理;3、使用拦截器实现用户登录校验;4、集成Swagger实现⾃动⽣成API测试接口;5、对密码进行加密处理。

2023-08-29 15:22:06 3347 2

原创 【Selenium学习】环境搭建 && API学习

所谓的自动化就是将手工测试转化为代码,让代码代替人工执行测试。好处:可以提高测试效率,可以提高测试质量。问题1:自动化测试好还是手工测试好?没有孰好孰坏,只有适合当前业务的测试类型就是一个好的测试方法。问题2:自动化测试能否完全代替手工测试?不能完全代替!因为手工测试可以对我们的软件进行发散的测试,更加灵活。自动化测试金字塔2、什么是Selenium?(重点)selenium是自动化测试框架,主要针对web项目进行UI自动化测试。问题1:selenium的特点?

2023-08-17 16:37:27 1184

原创 【MySQL安装】卸载与安装MySQL 5.7.X版本

电脑右键属性,选择高级系统设置,找到下方的环境变量,打开之后在下方的系统变量中找到Path,点击编辑,新增加一个环境变量,就是给MySQL配置环境变量。默认是在C:\Program Files\MySQL\MySQL Server 5.7\bin路径下。然后在cmd打开,输入mysql -u root -p,报错了。

2023-08-08 20:36:25 1176

原创 【BUG】Java问题解决:** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan

解决办法的参考来源: https://www.cnblogs.com/shea/p/8693202.htmlhttps://www.cnblogs.com/shea/p/8693202.html报错日志显示:控制台输出2、原因我的默认路径:将APP启动类直接放在java包下了,这是有问题的。方法1:在main/java下建个包,将Application文件放进去: 方法2:在Application类上面加@ComponentScan注解,指定要扫描的。(这种我还没试过)

2023-08-06 15:05:44 282

原创 【测试学习五】测试类型的划分(重点:白盒与黑盒测试)

如果可用性达到99.99%,对于一个全年不间断(7*24的方式)运行的系统,意味着全年(252600min)不能正常工作的时间只有52min,不到一个小时。黑盒测试是在不关心内部代码试下,通过一些科学的手段,给测试系统发起测试数据(黑盒测试的用例设计方法:等价类,边界值....),如果预期结果与执行结果一致,就说明测试通过。常见的界面错误:图片颜色不符合预期,文字大小不符合预期,页面出现错别字、字体出现重叠,出现阶段,文字不合理不能换行等。,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

2023-08-04 21:22:20 903

原创 【测试学习四】掌握测试用例的设计方法有哪些~

(1)用例表达清楚,无二义性。。(2)用例可操作性强。(3)用例的输入与输出明确,一条用例只有一个预期结果。(4)用例的可维护性好。(5)用例对需求的覆盖率高。

2023-08-02 20:49:20 541

原创 【测试学习三】软件测试的生命周期 && BUG的相关知识

(1)发现问题的版本:开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障。并且版本的标识也有利于统计和分析每个版本的质量。(2)环境分为硬件环境和软件环境,如果是web项目,需要描述浏览器版本,客户机操作系统等,如果是app项目,需要描述机型、分辨率、操作系统版本等。详细的环境描述有利于故障的定位。(3)描述问题重现的最短步骤。(4)要让开发人员知道怎么样才是正确的,尤其要以用户的角度来描述程序的行为是怎样的。如果是依据需求提出的故障,能写明需求的来源是最好的。(5)

2023-08-01 08:28:48 932

原创 【Spring事务学习】事务分类 && 隔离级别 && 事务传播机制

将一组操作封装成⼀个执行(封装到一起),要么全部成功,要么全部失败。比如转账分为两个操作:(1):A账户+100元;(2):B账户-100元;如果没有事务,AB两个账户是分离的,当B账户给A转账成功,B账户少了100,但是A账户却没有反应;如果使用事务,那么AB两个账户的钱数是联动的,B账户给A转账少100元与A账户增加100元这个操作,是一起成功或者失败的。

2023-07-31 15:50:30 1800

原创 【 Spring AOP学习二】统一功能处理:拦截器&异常&返回数据格式

Component@Override//判断是否登录:如果session为空,不去创建if(session!=null){//说明是登录状态,不进行拦截//否则说明不是登录状态,直接返回:给出提示:没有权限登录//实现WebMvcConfigurer@Autowired//重写addInterceptors方法@Override//添加拦截器//先要有一个拦截器对象:方式1:直接new出来//方式2:通过注解的方式。

2023-07-30 09:00:00 2432

原创 【Spring AOP学习】AOP的组成 && SpringAOP的实现和实现原理

/表示是一个切面:CSDN@Component@Slf4j//表示是一个切面:CSDN,要结合五大注解使用@Aspect//表示是一个切点:登录功能验证//方法体就是通知小Tips:切点指的是具体要处理的某一类问题:用户登录权限的验证就是一个具体的问题,也就是一个切点。(1)切面上要加@Aspect注解,结合五大注解使用:加@Component;

2023-07-29 09:00:00 429

原创 【代理模式】了解篇:静态代理 && 动态代理~

代理模式就是为其他对象提供一种代理以控制这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象就可以在客户端和目标对象之间起到中介的作用。类似于租房:租户和房东之间现在不直接沟通,找了中介来联系,那么中介就是代理,这种模式就是代理模式。代理模式分为静态代理和动态代理。

2023-07-28 16:26:18 845

原创 【MyBatis 学习三】子段不一致问题 && 多表查询 && 动态SQL

目录一、解决Java实体类属性与数据库表字段不一致问题🌷现象1:显示字段不对应:使用ResultType查询结果为null;🌷解决办法:字段不对应:使用ResultMap解决。二、数据库的多表查询🌷方式1:使用对象user 🌷方式2:直接写具体的属性三、动态SQL的使用🌷1、if标签:单个参数不确定🌷2、trim标签:多个参数不确定,搭配if标签一起使用🌷3、where标签:搭配if标签方式1:使用where关键字(注意不是where标签)方式2:使用标签🌷4、set标签:搭配if标签🌷5

2023-07-26 16:37:39 798

原创 【MyBatis 学习二】增删改查&& 参数占位符 #{} 和 ${}的使用

1、根据Id查询用户情况1:当只有一个参数的时候,可以加注解也可以不加。(1)不加注解:参数名可以任意:(2)加注解:@Param("uid"),xml文件也叫uid要对应。而Integer后的名字可以任意。(3)如果有多个参数:就必须加注解。2、插入数据情况1:不加注解情况2:加注解问题:怎么拿到自增Id?(1)useGeneratedKeys:这会令 MyBatis 使⽤ JDBC 的 getGeneratedKeys ⽅法来取出由数据库内部⽣成的主键(

2023-07-24 19:07:38 610

原创 【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询

就相当于我们之前的举例:Spring是高铁,那么MyBatis就是高铁的APP订餐系统,高铁只是集成了这个订餐框架,更加方便我们的出行,没有高铁订餐系统也可以在其他平台使用,所以两者之间并没有什么关系,MyBatis可以脱离Spring使用。(2)模板文件,自定义sql语句,sql语句为查询就写select,写id和resultType,id是接口中的方法名,表示对接⼝的具体实现⽅法;yBatis提供了一个接口访问数据库,接口只是方法的定义,具体的自己要实现,主要通过xml文件实现(注解也可以实现)。

2023-07-24 09:56:04 477

原创 【Spring MVC学习】连接 && 接收请求参数 && 响应返回参数

Spring Web MVC是基于Servlet API构建的原始Spring框架,从一开始就包含在Spring框架中,一般我们说Spring MVC,Spring Web,Spring Web MVC都是同一个意思。MVC 是 Model View Controller 的缩写,它是软件⼯程中的⼀种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。(早期MVC思想,现在已经不太用了。当前的MVC:更适合称为Spring Web,因为现在很多项目都使用了前后端分离的思想。

2023-07-22 20:24:59 2032

原创 【JVM】JVM执行流程 && JVM类加载 && 垃圾回收机制等

🌷5、垃圾回收机制(重要,针对的是堆)当main函数中调用完test()方法之后,test对象就无效,这种无效对象就会被回收掉。

2023-07-21 22:35:05 497

原创 【Spring Boot学习二】日志文件

🌷1、自定义输出日志很简单,代码出Bug了,第一时间肯定是看日志观察报错信息呀~就像去医院看病,不知道是什么病,就先去拍个片子,才能找症状所在。所以日志的作用就是:发现和定位问题。(1)日志没有持久化(所以要保存在硬盘上)⽇志默认是打印在控制台上的,⽽控制台的⽇志是不能被保存的。(2)日志没有详细的信息。SpringBoot为什么能打印日志,是因为Spring Boot 内置了⽇志框架(不然也输出不了⽇志))🌷1、自定义输出日志。

2023-07-21 10:19:55 607

原创 【Bug记录篇】IDEA双击打不开,报错的问题

但是上面的方法都不行,应该是报错的问题不一样。最后是参考了这篇文章,是Pycharm无法打开。我试了一下,修改了权限:改为管理员方式打开就可以了!早上,带着满满的干劲来实验室,准备继续我的IDEA之旅,结果好嘛,一打开IDEA,给我这样?(2)修改端口号(我没试过这种)(1)cmd管理员方式启动。

2023-07-21 09:50:45 842

原创 【性能测试三】LoadRunner学习二:Controller&&Analysis

比如用户现在用A机器对百度的服务器发送了一个请求,那么用户使用的A这个机器就是施压机器,百度的服务器就是被压机器。设置完之后,区域四会根据设置的值自动生成图,图的时间和用户数都是和区域三中设置的时候的值对应的。在Controller中,事务包括init,Action,end还有自定义的事务。可以观察到Design页面下,红线在不断右移,表示时间。Controller完成之后,点击下方,生成测试报告。添加系统资源监控:这两个服务必须启动。(2)直接双击快捷方式打开。(1)VUG页面下打开。

2023-07-20 18:10:11 328

原创 【Spring Boot学习一】创建项目 && Spring Boot的配置文件

在创建好项目之后,会自动生成一个主函数,我们运行一下,成功了才真正说明我们这个项目创建成功了。在网址输入:注意:在学习Spring Boot的时候,最大的一个感受就是:最难的不是写代码,而是配置环境。后来经过一定的学习又感受到,在Spring Boot阶段,最重要的一个准则就是:约定大于配置!比如,在上面测试项目是否创建成功,就是Spring Boot约定大于配置的一个体现。因为我们在之前的原生项目中,将bean交给Spring管理,需要在xml文件中配置扫描路径,而在Spring Boot中,

2023-07-19 19:57:48 1921 1

原创 【Spring core学习四】Bean作用域和生命周期

UserService类:UserController1类:修改姓名UserController2类:执行结果:分析: 公共 Bean,A ⽤户使⽤时,进⾏了修改操作,B ⽤户再去使⽤公共 Bean 的时候,获取到的是被修改的值。操作以上问题的原因是因为 Bean 默认情况下是单例状态(singleton),也就是所有⼈的使⽤的都是同⼀个对象,使⽤单例可以很⼤程度上提⾼性能,在Spring 中Bean 的作⽤域默认也是 单例模式。

2023-07-18 21:56:44 989

原创 【Spring core学习三】对象装配:获取Bean对象的四种方式

(3)@Autowired 可⽤于 Setter 注⼊、构造函数注⼊和属性注⼊,⽽ @Resource 只能⽤于 Setter 注⼊和属性注⼊,不能⽤于构造函数注⼊。但是对于下面这种情况:一个User类中有两个对象,这个时候满足上述条件2,就不能随意起名了,这里的名字要和对象名匹配,否则就会报错,显示不匹配。对象装配:获取bean对象也叫作对象装配,是将对象取出来放在某个类中,有时候也叫对象注入。对象装配的实现方式有三种:属性注入、构造方法注入、Setter注入,还有一个额外的@Resource注入。

2023-07-14 19:27:27 954

原创 【Spring core学习二】创建Spring 项目 && Spring的存

在resources文件下,新建一个xml文件名为“spring-config.xml”,写入以下代码(下面的代码就是对xml文件的一个声明)

2023-07-14 14:58:34 655

原创 【Spring core学习一】简单认识Spring是什么?

我们常说的Spring 指的是 Spring Framework(Spring 框架),它是⼀个开源框架。学习框架就相当于从一个“小作坊”到“工厂”的升级,小作坊什么都要自己做,工厂是已经将基本器件配备好了,所以使用更加方便高效。在这里,我们之前使用Servlet的方式就相当于“小作坊”,Spring就相当于“工厂”。理解Servlet和Spring的区别?(1)创建方式上(2)URL地址上(3)在新增一个路径上(4)doGet与doPost方法上(5)引入数据库的方式。

2023-07-12 15:51:33 496

原创 【Linux学习】记录下Linux的常用基本指令~

Linux是一个操作系统,和windows是“并列”关系。Linux已经成为"世界第一大操作系统"。(1)节省系统资源:运行图形化界面需要让系统付出一些额外开销;(2)节省网络带宽:如果通过网络访问服务器,使用图形界面需要传输一帧一帧的图像,但是使用命令行只要传输简单的字符串;(3)便于批量执行任务:可以通过一些“脚本”代码(Linux Shell)批量执行任务,完成一些简单的编程工作(比如定时备份文件,删除文件等)。

2023-07-10 17:12:08 225

原创 【Servlet综合项目练习】实现一个简单的博客系统~

注意这里的用户信息不能从sessio获取,session中获取的是当前登录的用户信息,是唯一且固定的,但是现在显示的是每个博客的作者,也就是博客是谁写的。根据以上响应的格式,在DAO中的sql,应该是从数据库的blog中查询所有,查询出来的是一个集合,集合的每个对象都是一条博客记录,包括id,标题,内容,发布时间,用户id。分析:在登录的时候,前端输入用户名和密码,此时我们需要从数据库中获取用户名,判断该用户名是否存在,因此提供一个通过用户名来查询用户信息的数据库访问方法,

2023-07-07 17:46:21 1048

原创 【Servlet学习二】Servlet原理(Tomcat)&& ServletAPI

1、Servlet的执行原理(重点)2、Tomcat伪代码的简单理解2.1 Tomcat初始化流程2.2 Tomcat处理请求流程2.3 Servlet 的 service 方法的实现 2.3 Servlet 的 servi

2023-07-01 22:19:30 930

原创 【Servlet学习六】Cookie 与Session && 实现登录与上传文件

(1)HttpServletRequest 类方法方法描述获取请求中给定 name 的文件获取所有的文件(2)Part 类方法方法描述获取提交的文件名获取提交的文件类型获取文件的大小把提交的文件数据写入磁盘文件。

2023-06-30 12:01:20 891

原创 【Servlet学习三】实现一个内存版本的简易计算器~

jQuery有一个方法叫ajax,当获取到数值不为空的时候,就发送ajax到后端,前端与后端实现交互,就是 ajax实现。计算完之后,不能再进行下一次操作了,因为采用的是form表单的提交,form表单的提交是全部提交,将之前的页面一起提交了,只能计算一次,因此并不适用现实,实际中我们采用的是局部提交的技术,也就是ajax技术,见方式2。方式1点击提交之后,将结果显示在按钮下方,页面保持不变,方便进行下一次操作。id是给js用的,name是form表单提交时给后端用得,要设置name属性。

2023-06-29 17:27:31 917

原创 【Servlet学习四】实现一个内存版本的表白墙~

/存储所有的表白数据//定义OBJECT_MAPPERreturn msg;🌈3、获取所有信息:getMessageServlet实现前后端的交互/*** 获取所有的表白信息*/@Override//1、定义编码格式//2、获取所有的表白数据,转化为json格式//jsonStr相当于只有下面的data//放在map中返回//3、将结果返回🌈4、添加数据:addMessageServlet,实现前后端交互。

2023-06-29 14:53:20 628

原创 【Servlet学习五】实现一个简单的数据库版本的留言墙!

(model下的message.java文件)//要在数据库中先设置好这个表,包括这四个属性//对应到数据库中的主键//发送者//接受者//留言内容//生成相应的get和set方法return id;//1、先声明一个数据源对象//注意这个DataSource是javax.sql下的,不要选错啦//定义数据库连接的参数//在静态方法中初始化数据源:static在类加载的时候只执行一次,生命周期只有一次static {//使用的是哪个数据库,就设置哪个数据源。

2023-06-28 22:34:47 809

原创 【每日编程】有假币

不能被均分的,此时只会多出一个或者两个硬币,虽然取其中最大的一份,需要将多余的这一个或者两个硬币都加上,但是因为是要速度最快,我们尽量满足“均分”这一条件,将硬币分的均匀,所以如果多一个,此时的最大的那份的个数就是n/3+1,另外两份相等时n/3;但是如果是多两个,那么我们将这多余的两个也分到不同的份中,因此此时的相等的那两份是n/3+1,另一份是n/3。因此这么分下来,三份中一定有两份是相同的,每次都先比较相同的两份,如果相等,说明假币在第三份中,如果不相等,此时假币就在这两份中的轻的那份里面。

2023-06-27 15:40:38 138

原创 【每日编程】最难的问题 && 因子个数

尽管 change()方法中的str与sv.str都是实例成员变量值"6"的引用, 由于String类型的 不可变性,change()方法中的str="10"语句实际上是将传入的str副本引用指向了一个值为“10”的新的内存地址,但原数据引用 sv.str的引用值(也就是“6”的内存地址)并没有发生改变,因此sv.str指向的值仍旧为6。理解一个数是由若干个素数乘积得来的,那么我们可以从小到大进行枚举,如果n能够被整除,则将n中所有的该因子都除尽,并将n更新为除尽后的数,然后枚举下一个数以此类推。

2023-06-26 19:40:24 158

原创 【测试学习】Junit5的简单使用

如果Selenium编写的自动化测试用例是灯,Junit就是控制灯怎么去亮,灯亮的颜色是什么颜色,灯亮的顺序是什么等。要解决的问题:现在有a01,a02,a03...a10一共10个class文件都要执行,正常操作是如果要执行a10,点击a10,执行a9,点击a9...以此类推。(2)表示注解的:@Test,@BeforeAll,@AfterAll,@BeforeEach,@AfterEach。不论有几个测试用例,都只执行一次;执行结果:先执行包1中的a01,a02,然后执行包2中的a01。

2023-06-26 16:31:45 1514

原创 【性能测试二】性能测试工具LoadRunner学习一 && VUG

1、使用LoadRunner的原因?(1)它具有强大的脚本录制功能;(2)它能够设计非常丰富的测试场景;(3)它能够产出非常丰富的测试报告(Jmeter也可以产出报告,但是没有这么丰富)2、LoadRunner三大组件之间的关系?(1)VUG用来录制脚本,编写脚本;(2)Controller:设计脚本的运行场景;(3)Analysis:产生性能测试报告。🌟三、LoadRunner脚本录制(重点)🌈1、介绍一个WebTours项目LoadRunner自带的WebTours。

2023-06-25 20:25:41 1264

原创 【性能测试一】性能测试概述

需求分析(分析的是性能需求)——>测试计划(确定一个性能测试工具)——>测试开发(性能测试脚本的编写)——>测试执行(跑脚本)——>测试评估(产生一个测试报告,将性能问题写在测试报告中,优化方案是什么)指模拟正式用户在实际操作时的停顿间隔时间,从业务的角度来讲,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。需求分析——>测试计划——>测试开发——>测试设计——>测试执行——>测试评估。包含CPU,内存,硬盘,网络等。让系统背负一定的压力,让系统运行一定时间,观察系统是否存在性能拐点。

2023-06-24 12:16:40 561

原创 【Servlet学习一】认识Servlet && 创建第一个Servlet项目

Tomcat 是一个 HTTP 服务器。maven是帮助开发者构建统一项目(maven项目)的工具,使用它可以是实现jar包的管理,编译和打包项目等操作,解决版本不同的问题。maven是国外开发的,叫做“中央仓库”,每次使用的时候都要去下载很麻烦,reload才是真正去下载,成本高,并且面向所有开发者。做两件事:(1)做一个本地仓库:当第一次去访问的时候,本地还没有,此时去中央仓库访问,获取jar包并放在本地仓库里面,因此以后访问的时候就去本地访问就行。

2023-06-22 21:53:15 645

原创 【HTTP】HTTP协议 && HTTPS 协议

HTTP(超文本传输协议)是一种应用非常广泛的应用层协议。HTTPs 是在 HTTP基础之上做了一个加密解密的工作。平时我们打开一个网站,就是通过HTTP协议来传输数据的。(所谓 "超文本" 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些其他的资源, 比如图片, 视频, 音频等二进制的数据)一个完整应用是由前端+后端构成的,而前后端之间的通讯是要依靠HTTP来完成的。

2023-06-20 11:13:49 4473 5

原创 【每日编程】微信红包 && 求字符串的编辑距离

4、一旦当前值和下一个值不相等了,说明不是同一个数字了,更新count值为1.方法2:一个数字如果出现次数最多,那么排序之后一定处于数组的中间位置。2、用变量count开始记录当前连续数字(肯定是相同数字)的个数;2、取出数组中间位置的数字,求该数字出现的次数;3、用maxNum来更新个数的最大值;3、判断该次数是不是超过了一半。❎ 2、求字符串的编辑距离。1、对数组进行排序;方法3:map集合。

2023-06-07 17:15:06 66

原创 【每日编程】小易打怪兽&&只出现一次的第一个字符

1、首先知道两种情况:将小易的能量值与怪兽的能量值比较:如果小易的能量值>=怪兽的能量值,则此时能量值+=怪兽的能量值;3、题目要求是第一个出现的次数为1的字符,因此还要做一个判断:一旦找到了第一个次数为1的字符之后,就跳出循环。1、用map集合来存储:第一个Key值存储string中的每一个字符;2、如果小易的能量值

2023-06-01 20:46:22 235 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除