自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浅ピ筱的博客

喜欢就给个赞呗

  • 博客(39)
  • 问答 (2)
  • 收藏
  • 关注

转载 这是一篇测试文章

这是一行删除的内容,测试文章摘要是否会显示删除线

2022-03-14 20:17:44 464 1

原创 5分钟让你学会MongoDB的基本操作

官方文档MongoDB简介MongoDB是一个NoSQL的数据库MongoDB是一款文档型数据库数据库指的就是一个存储数据的仓库,数据库可以使我们完成对数据的持久化的操作MongoDB数据库中存储的数据的基本单位就是文档,(文档就相当于关系型数据库中的录,集合相当于关系型数据库中的表)MongoDB中存储的就是文档,所谓文档其实就是一个“JSON” 格式:{“name”: “张三”, “age”: 18, “gender”: “男”}(写命令的时候属性名的引号可以省略)MongoDB中

2022-03-03 18:24:04 339

原创 10分钟带你学会thymeleaf

文章目录引入命名空间HTML中的使用1. 表达式(和下面的设置属性值一起使用)2. 支持的字面量3. 设置属性值1. 设置自定义属性值 th:attr2. 设置html原生属性值3. 替换所在标签内的文本内容 th:text4. 替换所在标签内的文本内容(会解析html) th:utext4. 迭代器 th:each5. 条件语句6. 内联(写在开始标签和结束标签之间)7. 组件定义组件:其他页面引入组件:组件传参组件的局部替换JavaScript中的使用CSS中的使用内置对象工具类格式化时间引入命名空间

2022-01-22 17:55:12 1017

原创 四、为项目配置logback日志

文章目录配置logback使用logback配置logback引入logback的依赖(在该专栏的第一篇文章里有)在src/main/resources目录下创建logback.xml文件将下面内容粘贴到logback.xml中<?xml version="1.0" encoding="UTF-8"?><!-- logback日志级别 TRACE < DEBUG < INFO < WARN < ERROR --><!-- scan:定期

2021-08-06 16:39:15 325

原创 二、IDEA修改maven创建的webapp项目的web版本

新建的webapp项目,web版本默认是2.3我们可以这样提高它的版本先删除原来的web.xml文件此时并没有真的删除,我们要点击apply才行然后我们再创建新的web.xml文件选择你想使用的web版本,这里我就选4.0点击OK可以看到现在的web版本已经变成4.0了...

2021-08-05 21:38:49 1034 1

原创 三、IDEA将maven创建的webapp项目部署到本地的Tomcat实例中

准备工作:先在电脑上下载Tomcat的压缩包并解压这里是因为已经配置好一个了,如果没有配置直接点击这个框就行选择以exploded结尾的(这种是展开的war包,可以进行热部署)这里可以修改应用的上下文名称,也就是在浏览器中输入网址的域名之后的第一级目录...

2021-08-05 16:47:58 190

原创 Spring(1)——IOC & DI 概述

文章目录IOC(Inversion of Control)DI(Dependency Injection)IOC(Inversion of Control)其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源. 作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式DI(Dependency Injection)IOC 的另一种表述方式:即组件以一

2021-05-18 22:08:54 79

原创 Spring MVC(11)——拦截器

文章目录如何自定义拦截器?1. 编写拦截器类,实现 HandlerInterceptor 接口2. 在 Spring MVC 配置文件中注册这个拦截器拦截器的配置多个拦截器的执行顺序如何自定义拦截器?1. 编写拦截器类,实现 HandlerInterceptor 接口该接口有以下3个方法:preHandle():该方法在目标方法之前被调用。若返回值为 true,则继续调用后续的拦截器和目标方法;若返回值为 false,则不会再调用后续的拦截器和目标方法。用途:可以考虑做权限、日志、事务等post

2021-05-16 10:23:01 79 9

原创 Spring MVC(10)——文件上传

文章目录1. 添加依赖2. 在 Spring MVC 配置文件中配置 MultipartResolver3. 编写上传文件的表单4. 编写目标方法1. 添加依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version>&l

2021-05-15 22:49:34 66

原创 Spring MVC(9)——处理JSON

文章目录返回 JSON 给前端1. 添加依赖2. 编写目标方法,使其返回 JSON 对应的对象或集合3. 在方法上添加 @ResponseBody 注解获取前端发来的 JSON1. 同上面的第1步2. 编写目标方法,入参用 @RequestBody 标注,参数类型可以是 Map 或 对应的实体类返回 JSON 给前端1. 添加依赖<dependency> <groupId>com.fasterxml.jackson.core</groupId> &l

2021-05-15 22:12:09 65

原创 Spring MVC(8)——数据校验

文章目录JSR 303Hibernate Validator实现步骤:1. 添加 Hibernate Validator 依赖2. 在 Spring MVC 配置文件中添加 mvc:annotation-driven3. 在需要校验的属性上加注解4. controller使用 @Valid 标识验证的对象,紧跟着的BindingResult / Errors 获取错误信息JSR 303JSR 303 是 Java 为 Bean 数据合法性校验提供的标准框架,它已经包含在 JavaEE 6.0 中JS

2021-05-15 21:10:05 73 1

原创 Spring MVC(7)——数据类型转换及格式化

文章目录数据绑定流程自定义类型转换1. 编写自定义类型转换器,实现 Converter数据绑定流程Spring MVC 主框架将 ServletRequest 对象及目标方a法的入参实例传递给 WebDataBinderFactory 实例,以创 建 DataBinder 实例对象DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换、数据格式化工作。将 Servlet 中的请求信息填充到入参对象中调用 Validator 组件对

2021-05-15 19:28:16 143

原创 Spring MVC(6)——请求转发与重定向、处理静态资源

一般情况下,控制器方法返回字符串类型的值会被当成逻辑视图名处理如果返回的字符串中带 forward: 或 redirect: 前缀时,SpringMVC 会对他们进行特殊处理:将forward: 和redirect: 当成指示符,其后的字符串作为 URL 来处理redirect:success.jsp:会完成一个到 success.jsp 的重定向的操作forward:success.jsp:会完成一个到 success.jsp 的转发操作@RequestMapping("/testRed.

2021-05-15 15:48:25 250

原创 Spring MVC(5)——处理模型数据

文章目录Spring MVC 提供了以下几种途径输出模型数据:ModelAndViewMap 及 Model@SessionAttributesMVC设计模式通常是由控制器调用业务层的方法,业务方法可能会返回一个对象或集合,如何把这些数据传给页面?把数据放到域对象中,也就是添加模型数据Spring MVC 提供了以下几种途径输出模型数据:ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据Map 及 Model: 入参为 org.spr

2021-05-15 15:28:03 78

原创 Spring MVC(4)——接收请求中的各种信息

文章目录使用 @RequestParam 绑定请求参数值使用实体类对象绑定请求参数值使用 @RequestHeader 绑定请求头的属性值使用 @CookieValue 绑定请求中的 Cookie 值使用 Servlet API 作为入参使用 @RequestParam 绑定请求参数值在处理方法入参处使用 @RequestParam 可以把请求参数传递给请求方法value:请求参数名required:是否必须。默认为 true, 表示请求参数中必须包含对应的参数,若不存在,将抛出异常defau

2021-05-15 14:32:53 119

原创 Spring MVC(3)——REST风格

文章目录@PathVariable 获取 URL 中的占位符REST风格在项目中的体现如何发送 PUT 和 DELETE 请求1. 在 web.xml 中配置 HiddenHttpMethodFilter2. 前端发送 POST 请求并带上 _method 请求参数,参数值是要转换成的请求的名称(PUT或DELETE)@PathVariable 获取 URL 中的占位符带占位符的 URL 是 Spring3.0 新增的功能,该功能在 SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义

2021-05-15 13:21:02 115

原创 Spring MVC(2)——@RequestMapping

文章目录@RequestMapping修饰位置映射请求参数、请求方法或请求头value 属性支持 Ant 风格的 URL@RequestMapping修饰位置Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求在控制器的类定义及方法定义处都可标注类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录方法处:提供进一步的细分映射信息。相对于类定义处的 URL。若类定义处未标注@RequestMapping,则方法处标记的 URL 相对于W

2021-05-15 11:47:44 80

原创 Spring MVC(1)——基础环境搭建

文章目录添加依赖在 web.xml 中配置 DispatcherServlet加入 Spring MVC 的配置文件编写处理请求的处理器,并标识为处理器编写视图添加依赖<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId></dependency><dependency>

2021-05-15 11:02:04 61

原创 一、SSM项目基础骨架 搭建流程(里面有各种配置文件的模板)

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http:

2021-04-08 11:24:52 200 4

原创 Spring—AOP:环绕通知不要和其他四种通知一起使用!!!

环绕通知的特点:必须传入ProceedingJoinPoint对象,调用其proceed()方法来手动执行切入点,否则什么也不执行切入点:package com.dwb.service.impl;@Servicepublic class UserServiceImpl implements IUserService { @Autowired private IUserDao userDao; @Override public User findUserBy

2021-03-02 17:35:37 1108 5

原创 Mybatis中#{}和${}的区别

select * from user where username = #{name}等价于PreparedStatement ps = conn.prepareStatement("select * from user where username = ?");ps.setObject(1, name);ResultSet rs = ps.executeQuery();相当于占位符替换,可以防止SQL注入select * from user where username = ${name}

2021-02-10 14:28:50 52 1

原创 MySQL更改配置文件后在命令行的无法连接

起因:今天想给MySQL换个端口,在配置文件中把端口号改了之后,发现在命令行中无法连接mysql,而Navicat却可以连接成功。解决办法:我用的是这个命令mysql -uroot -p查资料知道了这样写默认去连接本机的3306端口。因为我改了端口号,所以应该写成mysql -P[更改后的端口号] -uroot -p...

2021-02-06 16:29:50 179

原创 继承与多态中成员变量与成员函数的细节

继承:成员变量子父类同名,初始化时子类中两个变量都有,通过super调用父类的成员函数子父类同名,覆盖父类,只调用子类(覆盖访问权限必须大于等于(私有方法不能被重写),static只能被static覆盖)多态:成员变量调用特点:编译和运行都看左边成员函数:编译看左边,运行看右边静态函数:编译和运行都看左边...

2020-12-16 23:23:10 78

原创 Java与SQL数据类型对照表

Java类型SQL类型booleanBITbyteTINYINTshortSMALLINTintINTEGERlongBIGINTStringCHAR,VARCHAR,LONGVARCHARbyte arrayBINARY , VAR BINARYjava.sql.DateDATEjava.sql.TimeTIMEjava.sql.TimestampTIMESTAMP

2020-07-20 17:00:32 390

原创 常用类1——String

String是Java的字符串类,Java中所有的字符串字面量都是该类的实例,底层是用一个字符数组来存放字符串的字符序列。被final修饰,不能被继承实现类Serializable接口,支持序列化实现了Comparable接口,可比较大小String内部定义了final char[] value用于存放字符串1、String的不可变性通过字面量给一个字符串赋值时,字符串的值存放在字符串常量池中,字符串常量池不会存放同一内容的字符串对字符串重新赋值时,会重新指定一块区域进行赋值,不会在原来

2020-06-08 18:29:15 101

原创 软件测试之JUnit单元测试 xxxggg

软件测试分类黑盒测试:不需要考虑程序内部是如何实现的,只是测试程序说明书上所说的功能是否都实现了。白盒测试:知道程序内部是如何实现的,通过程序内部的具体实现逻辑来设计测试用例,测试程序在各种极端情况下是否正常运行。(JUnit属于白盒测试)JUnit的使用步骤定义一个测试类(测试用例) - 建议: - 测试类的类名:被测试类的类名+Test,如CalculatorTe...

2020-05-07 18:00:22 995

原创 SQL Server2012新建数据库关系图时报错“尝试读取或写入受保护的内存,这通常指示其他内存已损坏(Microsoft.VisualStudio.OLE.Interop)”的解决办法

如图所示,出现该问题是因为装数据库之前装过了visual studio编译器,它们两个有冲突。先把visual studio卸载了,再重装数据库就好了。

2020-04-30 09:12:56 2308 7

原创 Java基础4——数组的定义、内存图解、稀疏数组

数组的定义数组是相同类型数据的有序集合数组描述的是相同数据类型的若干个数据,按一定的先后次序排列组合而成其中,每一个数###据称作一个数组元素,每个数组元素都可以用下标来访问数组的创建datatype[] var = new datatype[length]; // 推荐datatype var[] = new datatype[length]; // 不推荐,这种格式是为了C/C...

2020-04-30 00:32:44 111

原创 Java基础3——方法、方法重载、可变参数

方法是解决一类问题的步骤的有序集合,也可以说是实现某个功能的语句块集合方法在类或接口中定义方法一旦定义好,在其他地方直接调用。方法可以实现封装和代码复用定义方法的原则:保持方法的原子性,即一个方法只完成一个功能,这样有利于程序的扩展// 定义格式修饰符 返回值类型 方法名(参数类型 形参名, 参数类型 形参名, ...) { 方法体 return 返回值; // 表示方法结束,v...

2020-04-29 17:40:10 99

原创 Java基础2——程序中的流程控制

一个程序,特别是解决复杂问题的程序,不可能是一直沿着一条线走下去的(有句古话叫做不撞南墙不回头),它必然要在某个条件下触发一条分支(就像游戏里的主线任务、支线任务一样),或是重复执行某个操作。程序有3大流程:顺序、选择、循环,IT界有位大神(名字真的记不清了)曾经验证过用这3大流程可以解决生活中的所有问题。顺序结构Java的基本结构就是顺序结构 ,顾名思义就是按顺序一句一句执行语句与语句之...

2020-04-29 16:26:50 122

原创 Java基础1——数据类型、运算符

数据类型变量可以看成是一个放东西的盒子,放的东西就是数据。数据是分为很多种的:整数、小数、字符等等。我们怎么能让编译器知道变量里面是哪种数据呢?这就需要指定变量的数据类型。1.分类Java的数据类型分为两类:基本类型和引用类型。具体看下图:2.类型转换类型转换分为:自动类型转换和强制类型转换自动类型转换是在运算中数据自动由低精度向高精度转换(一般占的字节多精度高) &nb...

2020-04-29 14:52:57 118

原创 cmd/dos 常用命令

打开cmd的方式开始->系统->命令提示符Win键+R 输入cmd 打开终端(推荐使用)资源管理器的地址栏中输入cmd,可以打开当前路径下的控制台常用的命令​ 几种常用的通配符:​ . 当前目录​ .. 上一级目录​ * 代表任意个字符(零个或多个)​ ? 代表一个任意字符盘符切换 如:E:(切到E盘)查看当前目录下的所有子目录及文件 dir切换...

2020-04-28 20:07:34 228

原创 Java细节05——Java与C定义二维数据时下标省略的区别

Java定义二维数组的省略格式 int[][] arr = new int[3][]; arr[0] = new int[2]; arr[1] = new int[1]; arr[2] = new int[3];C语言定义二维数组的省略格式 int a[][2] = {1, 2, 3, 4};它们省略的长度不一样,这是为什么呢?Java的二维数组是数组的数组,也就是二维数组中的...

2020-02-11 13:33:24 284

原创 Java细节04——位运算的应用

位运算相对于其他运算速度是最快的,一个问题如果能够用位运算解决,那么它的执行效率一定是最高的。下面让我们看看位运算可以解决哪些问题。问题1:用最有效率(位运算)的方式算出2乘8等于几?**思路:**把一个数的二进制左移几位的结果就是这个数乘以2的几次方,右移几位的结果就是这个数除以2的几次方。不信大家可以试试。2乘8就可以把2左移3位。涉及一个数乘(除)2的几次幂都可以用一位来做。publi...

2020-02-11 09:18:22 113

原创 Java细节03——x = x + 1,x += 1,x++的效率问题

x = x + 1,x += 1,x++三个表达式哪个效率更高,这是很多小伙伴疑惑的问题。要解决这个问题,我们就需要分析这三个表达式的执行过程。x = x + 1的执行过程如下:(1)读取右x的地址。(2)读取地址中x的值。(3)在寄存器中将x的值加1。(4)读取左x的地址。(计算机是不知道左x就是右x的)(5)将计算结果传给左边的x。x+=1的执行过程如下:(1)读取x的地址。...

2020-02-06 19:43:55 520

原创 Java细节02——x = x + 1与x += 1的区别

我们先来看两行代码: short x = 1; x = x + 1;这个肯定会报错,我在上一讲已经讲过,这里就不多说了。我们再来看下面两行代码: short x = 1; x += 1;很多人会觉得这两个表达式是一样的,我之前也是这样认为的,但是它们真的不太一样。最大的区别就是下面的表达式是不会报错的。如果你看过Java编程规范,你就会知道x += 1等价于x = (short...

2020-02-06 19:24:53 871

原创 Java细节01——类型转换问题

我们来看下面的两段代码:public class Demo { public static void main(String[] args) { byte b; b = 3 + 7; System.out.println(b); }}

2020-02-06 15:27:10 353

原创 计算机底层原理02——计算机系统层次结构

早期计算机系统的层次最早的计算机用机器语言编程(机器语言称为第一代程序设计语言1GL)机器语言的计算机系统层次后来用汇编语言编程(汇编语言称为第二代程序设计语言2GL)汇编语言的计算机系统层次现代计算机系统的层次现代计算机用高级语言编程第三代程序设计语言(3GL)为过程式语言,编码时需要描述实现过程,即“如何做”。第四代程序设计语言(4GL)为非过程式语言,编码时只需...

2020-02-02 11:36:34 933

原创 计算机底层原理01——计算机系统组成(微体系结构)与基本功能

冯·诺依曼计算机结构 冯·诺依曼计算机采用存储程序控制原理,主要分为五大部件:输入设备、输出设备、 算术逻辑运算器、控制器、存储器。现代计算机结构 现代计算机的结构还是沿用冯·诺依曼计算机结构。以上五个部件在现代计算机中都 能找到。计算机是如何工作的?· 程序在执行前数据和指令事先存放在存储器中,每条指令和每个数据都有地址,指令按序存放,指令由操作码和地址码组成,每个程序...

2020-02-01 12:11:01 857

空空如也

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

TA关注的人

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