自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【BugList】MyBugList

BUG01字符串比较相等要用equals()方法,不能用==!!!!!

2021-04-04 18:24:02 161

原创 【知识梳理】MyBatis-Plus之and和or多重嵌套的写法

要用mybtis-plus框架写一个类似如下的语句:select * from X where A and B and ( ( C and ( D or E ) ) or ( F and ( G or H ) ) )代码如下: wrapperBill.in("A", A); wrapperBill.eq("B", B); wrapperBill.and(wrapper ->{ wrapper.and(w1 ->{

2021-10-14 15:41:32 803

原创 【知识梳理】用域名访问一个网站的过程

1、输入一个域名,回车2、检查本机的C:\Windows\System32\drivers\etc的host配置文件中是否有这个域名的映射如果有,直接返回配的ip地址。比如说我配置了127.0.0.1 www.baidu.com那么我在浏览器输入www.baidu.com时访问的ip地址就是本机如果没有,就去DNS服务器上找...

2021-07-05 17:54:27 1316

原创 【知识梳理】设计模式——模板方法

定义定义一个模板结构,将具体内容延迟到子类实现应用场景一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复控制子类的扩展。实例讲解现在希望学会两道菜:辣椒炒肉、手撕包菜两道菜的炒菜步骤有重复的,也有差异很大的,记不住,用代码记录下来第一步:创建抽象模板结构public abstract class MakeFood { //申明为final,不希望子类覆盖这个方法,防止更改流程的执行顺序 fin

2021-07-02 10:05:54 126

原创 【归纳总结】Maven

Maven是一个项目管理工具,可以对进行项目构建和依赖管理项目构建指项目从开发到最终完成的过程:编译、测试、打包、部署上线一、MAVEN目录结构编写测试代码规则:类名写成:XxxTest的形式,如:UserTest方法名写成:testXxx()的形式,如:testLogin。方法的权限必须为public、返回值应当为void、不能传入参数、必须有个注解@Test二、Maven基本命令Maven 将整个构建过程分为多个阶段,每个阶段对应 maven 中的一个命令。比如下面命令:cl

2021-05-27 18:34:45 81

原创 【知识梳理】索引为什么选B+树?索引为什么失效?怎么优化?

1️⃣ 为什么索引不选用二叉树、Hash表或者B树?二叉树:随着树高度的增加,查找得越来越慢Hash表:①Hash值是无序的,所以不能进行范围查找、不能排序 ②Hash值可能相同,影响查询性能B树:存在回旋查找问题B+树:叶子节点构成了单向链表,解决了回旋查找问题。同时,非叶子节点只存储key,不存储value2️⃣ 索引为什么失效?使用联合索引时,不遵循最左前缀法则:B+树底层的链表会按照最左列的数据的大小进行排序,当做最左列数据的值相同时,下列的数据值才是有序的。所以带头大哥不能死,中间兄弟

2021-05-13 12:27:48 469

原创 【归纳总结】数据库之索引

什么是索引?MySQL官方对于索引的定义是:索引使可以帮助高效获取数据的数据结构。即索引是数据结构。数据库在执行查询的时候,如何没有索引存在的情况下,会采用全表扫描的方式进行查找。如果存在索引,则会先去索引列表中定位到特定的行或者直接定位到数据,从而可以极大地减少查询的行数,增加查询速度。可以类比为一部字典开头的目录。索引是哪种数据结构?1️⃣二叉树、红黑树?优点:二叉树中的每一个元素保存了相应行数据的磁盘地址,通过该磁盘地址,便可以定位到对应行的数据。只需要几次查询即可查到该索引数据。缺点

2021-05-12 19:33:22 186

原创 【归纳总结】微服务之RocketMQ

简介1️⃣ 消息中间件是什么消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。2️⃣ RocketMQ是什么?RocketMQ是阿⾥巴巴开源的⼀个消息中间件,是⼀个队列模型的消息中间件,具有高性能、高可靠、⾼实时、分布式特点。目前已贡献给apache功能1️⃣ 异步化将⼀些可以进行异步化的操作通过发送消息来进行异步化,提高效率具体场景:⽤户为了使⽤某个应⽤,进⾏注册,系统需要发送注册邮件并验证短信。对这两个操作的处理⽅式有两种:串⾏及并

2021-04-26 15:15:00 343 1

原创 【归纳总结】微服务之TK-Mybatis & MapStruct & SPI

TK-MybatisTK-Mybatis是一个在Mybatis基础之上只做增强,不做改变的工具。为简化开发,提高效率而生。使用步骤:1️⃣ 导包本包:<!--tk-Mybatis--><dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1

2021-04-19 23:32:57 354 1

原创 【归纳总结】微服务之Dubbo使用及常用配置

1️⃣ 将Provider注册到Registry① 导入依赖Ⅰ 导入dubbo依赖 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.7.3</version>.

2021-04-19 19:40:00 270

原创 【归纳总结】SpringBoot之整合Web、MyBatis

整合SpringMVC1️⃣ 引入依赖其实就是spring-boot-starter-web依赖2️⃣ 静态资源映射默认的静态资源映射的路径:resources目录下的static目录也可以自己配置:3️⃣ 配置类使用注解@EnableWebMVC或者注解@COnfiguration,前者前面接管,后者给web配置作补充整合MyBatis1️⃣ 引入依赖mybatis-spring-boot-startermysql-connector-java <depe

2021-04-07 23:10:07 162 1

原创 【归纳总结】SpringBoot之配置文件

1️⃣ 配置文件的名称配置文件的名字为:application(-xxx).properties(yml),不可以换成其他名字2️⃣ 与JavaEE容器相关的配置配置端口号和应用名:例如:server.port=8081server.servlet.context-path=/demo13️⃣ 扫描包配置默认扫描包为启动类所在的包目录4️⃣ spring容器中的组件获得springboot配置文件中的值...

2021-04-07 22:38:34 455 1

原创 【归纳总结】SpringBoot之创建应用

针对SpringMVC配置太多的缺点,SpringBoot诞生了SpringBoot不需要依赖于外部的JavaEE容器(如Tomcat),内部集成了JavaEE容器,因此可以统一JavaEE容器的配置SpringBoot的最核心的一句话是约定大于配置,即:如果你没有告诉我注册一个什么样的组件,我给你注册一个默认的如果你告诉我注册了什么,以你通知的为准一般有两种方式创建SpringBoot应用:1️⃣ 通过官网创建网址:start.spring.io输入网址,进入如下页面:生成了一个压

2021-04-06 23:14:42 97

原创 【归纳总结】SpringMVC之JavaConfig

建议

2021-04-06 21:01:05 331

原创 【归纳总结】SpringMVC之Hibernate Validator

用来做请求参数合法性校验并且,将请求参数合法性校验放到Javabean的成员变量上1️⃣导包hibernate-validatorversion 6(对应的是5版本的spring)在这里插入代码片 <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artif

2021-04-06 00:01:14 378 1

原创 【归纳总结】SpringMVC之异常处理

当程序中有异常时,异常会不断地向上抛出,SpringMVC可以进行统一的异常处理。用户就不会看到异常的页面。一般有两种处理方式:1️⃣ HandlerExceptionResolver(全局处理)全局处理即只要异常抛出就进入该处理器编写一个类继承HandlerExceptionResolver接口,重写方法resolveException,并使用@Component注解注册为组件,就可以使用了。该方法的参数:handler:Handler方法exception:抛出的异常该方法的返回值

2021-04-05 23:17:48 163

原创 【归纳总结】SpringMVC之HandlerInterceptor

CharacterEncodingFilter为了解决数据的中文乱码问题,需要引入Filter来设置编解码格式在web.xml文件中进行如下配置: <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</fil

2021-04-05 22:41:11 325

原创 【归纳总结】SpringMVC之静态资源处理

假如现在有一张bingbing.jpg的图片在应用下,发现我们无法通过localhost:8080/bingbing.jpg直接访问。原因是:没有对应的Handler来处理静态资源文件,即url-pattern为/ <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <!--除了web资源根路径下的jsp文件,其余所有都经过dispatcherSe

2021-04-05 20:38:18 198 2

原创 【归纳总结】SpringMVC之RESTful风格接口

1️⃣ @PathVariable(重要)获得请求url的一部分作为形参 //@PathVariable注解的value属性值→占位符的名字 //@PathVariable注解对应的形参就可以获得对应的占位符的url的值 @RequestMapping("{usernamez}/article/details/{idz}") public BaseRespVo articleDetails(@PathVariable("usernamez") String username

2021-04-04 23:23:47 123

原创 【归纳总结】SpringMVC之HandlerMethod参数的封装

直接封装1️⃣基本类型和其对应的包装类的封装例如请求携带如下参数:localhost:8080/register?username=octavius&password=123456&age=20使用Handler可以自动接收到参数: @RequestMapping("register") public void register(String username,String password,Integer age){ System.out.println(

2021-04-04 22:54:34 229

原创 【归纳总结】SpringMVC之HandlerMethod

SpringMVC简介MVC的任务:将包含业务数据的模块与显示模块的视图解耦。SpringMVC和JavaEE的区别:SpringMVC的核心功能:SpringMVC的使用1️⃣导包①spring-webmvc会导入Spring的五个核心包,MVC的两个核心包,和日志 <dependency> <groupId>org.springframework</groupId> <artif

2021-04-01 23:49:36 564

原创 【归纳总结】Spring之JavaConfig

简单来说,就是不再使用xml配置文件来配置,改为使用配置类来进行配置配置类@Configuration把一个类标记为配置类,把配置也作为容器中的组件(可以使用注入功能的注解)@ComponentScan扫描的范围@EnableTransactionManagement对应标签:<tx:annotation-driven transaction-manager="transactionManager"/>@EnableAspectJAutoProxy对应标签:<aop:as

2021-04-01 15:32:39 154

原创 【归纳总结】Spring之事务

核心接口1️⃣PlatformTransactionManager即平台事务管理器,依赖于数据源,可以保证拿到的是同一个connection有三个api:getTransaction:通过事务定义获得事务状态commit:提交事务rollback:回滚事务2️⃣TransactionStatus记录事务状态3️⃣TransactionDefinition事务的名称、事务的隔离级别、事务的传播行为、事务的只读状态、事务的超时时间三者之间的关系如图:传播行为实现多个事务的共享

2021-04-01 11:05:09 210

原创 【归纳总结】Spring之Spring与MyBatis的结合

MyBatis需要提供一些组件给Spring管理也就是说,Spring容器中需要注册MyBatis的相关组件——DataSource和Mapper导包1️⃣Spring所需要的依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId>

2021-03-31 23:02:19 83

原创 【归纳总结】Spring之AspectJ

AspectJ实际上是对AOP编程思想的一个实践有三种实践方式:切入点表达式advisoraspect需要导包: <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.6</version&gt

2021-03-31 22:22:12 233 1

原创 【归纳总结】Spring之AOP概述

基本概念Aspect Oriented Programming,面向切面编程作用:对某一些方法进行增强与动态代理的区别:动态代理:委托类中的全部方法AOP:容器中的组件里的指定的方法底层使用的代理:JDK和cglib编程术语委托类(target):也叫目标类,被代理类,有方法需要被增强的类代理类(proxy):方法已经增强的类织入(weaver):通过委托类生成代理对象的动作切入点(Pointcut):所有可能被增强的方法连接点(JoinPoint):代理对象正在执行的增强的方

2021-03-30 22:23:34 87

原创 【归纳总结】Spring之注解实现组件注册

首先,添加一个标签 <context:component-scan base-package="com.octavius"/>表示扫描该包目录以及所有子包:寻找该包中所有可以实现组件注册功能的注解。1️⃣组件注册@Component 组件的id为类名的首字母小写形式@Componentpublic class UserServiceImpl implements UserService{@Component(“组件id”) 组件的id为注解的value值

2021-03-30 21:23:54 111

原创 【归纳总结】Spring之组件的生命周期

容器中的组件的生命周期:我们要去使用组件,要经过哪一些过程流程图:组件达到可用状态之前经历的过程:bean的实例化:参数设置:该组件实现Aware接口:注册其他组件实现BeanPostProcessor接口:组件达到可用状态之后经历的过程:DisposableBean的destory()方法:自定义的destory()方法:...

2021-03-30 16:59:09 136

原创 【归纳总结】Spring之IOC&DI

基本认识IOC即Inverse Of Control,控制反转。区别于传统的java程序设计,用直接new对象的方法来创建对象,IOC思想是将我们设计好的对象交给Spring容器控制。DI即Dependency Injection,依赖注入。由容器动态的将某个依赖关系注入到组件之中。Spring的使用1️⃣导包Spring框架需要五个包spring-corespring-contextspring-beanspring-aopspring-expression只需要导入s

2021-03-30 09:49:43 65 2

原创 【归纳总结】Spring之设计模式(单例、工厂、代理、建造者)

设计模式的六大原则:单一职责:一个类和方法只做一件事开闭原则:对新增代码开放,对修改代码封闭里氏替换:子类不要覆盖父类的方法(抽象方法除外)接口隔离:不要在一个接口里面放很多的方法依赖倒置:依赖关系是通过接口或抽象类产生的迪米特法则:尽量降低类与类之间的耦合单例模式1️⃣核心思想应用程序运行过程中,获得某一个类型的实例的时候,获得的始终是同一个实例。分为三步:构造方法私有自身提供一个实例提供一个静态方法供外部类获取该类的对象2️⃣模式实现懒加载:需要的时候就加载,

2021-03-28 23:51:15 208

原创 【归纳总结】JavaEE之Listener

概述监听器,可以类比一下现实生活中的监听器:现实中的监听器:被监听对象:明星艺人被监听事件:吸毒嫖娼监听者:朝阳人民群众触发事件:报警web中的监听器:被监听对象:ServletContext被监听事件:该对象的创建、销毁监听者:自己编写一个监听器触发事件:调用监听器里面的对应代码web中的监听器一共可以分为三大类8种:三个域对象创建、销毁的监听器 ServletContextListener(Spring的入口)三个域对象属性变更的监听器session数据钝化、活化的监听器

2021-03-19 00:04:10 193 1

原创 【归纳总结】JavaEE之JSON

1️⃣概念JSON就是一种数据格式。如果是{}开头,那么表示的是一个对象如果是[]开头,表示的是一个数组或者集合例如: var pro ={ "name":"中国", "province":[{"name":"黑龙江",”cities”:["哈尔滨","大庆"]}, {"name":"广东","cities":["广州","深圳","珠海"]}, {"name":"台湾","cities":["台

2021-03-18 21:36:53 220 3

原创 【归纳总结】数据库之连接池

我们用 JDBC 操作数据库的时候,每次操作完都会将连接关闭。数据库连接是极其宝贵的资源,频繁的创建和销毁会极大地降低服务器的性能。因此,我们可以利用池化技术,重复利用数据库资源,避免没必要的开销。用口语来说,相当于我们创建了一个池子,这个池子里面放的都是一些JDBC的连接,也就是Connection对象,每当我们需要时,我们去从连接池里面获取连接,使用完了连接,放回连接池,做到连接的反复使用。手写一个数据库连接池思路:要实现DataSource接口(SUN公司就制定的连接池的标准)要有一个ge

2021-03-15 23:15:33 316

原创 【归纳总结】数据库之JDBC

定义Java Database Connection = Java数据库连接使用方法1. 注册驱动 DriverManager.registerDriver(new Driver()); 2. 获取连接 Connection connection = DriverManager.getConnection("url","username","password"); 3. 创建Statement对象,构建sql请求 Statement statement =

2021-03-15 15:43:21 99

原创 【知识梳理】URL的组成

统一资源定位符(URL)是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL地址,这种地址可以是本地磁盘,也可以是局域网上的某一台计算机,更多的是Internet上的站点。简单地说,URL就是Web地址,俗称“网址”。URL分为三部分:协议类型主机名路径及文件名协议类型protocol(协议):指定使用的传输协议, 最常用的是HTTP协议。常见协议有:file 资源是本地计算机上的文件。http

2021-03-12 23:01:04 523

原创 【归纳总结】数据库之约束、多表、范式、连接、备份

约束六大约束:primary key(主键约束)、foreign key(外键约束)、unique(唯一性约束)、not null(非空约束)、default(默认值约束)、check(自定义约束)primary key、not null 在之前的文章已经提到了unique 和主键的区别:主键不可以为null, unique可以为null当我们插入外键的值的时候,那么他就会去关联外键的表里面去找有没有该值,假如有,就插入,假如没有,就不让插入,报错,在工作中,一般不使用外键多表设计一对一例如

2021-03-12 22:52:33 122

原创 【归纳总结】数据库之SQL语句

对数据库的操作增:create database [if not exists] db_name [character set, collate];????://创建数据库create database db01;//如果不存在则创建数据库create database if not exists db02;//创建数据库并指定字符集utf-8create database db03 character set utf8;//创建数据库并指定字符集utf-8,而且设置排序规则不区

2021-03-10 21:07:32 79 1

原创 【归纳总结】数据库之基础

一、数据库的定义数据库是按照数据结构来组织、存储和管理数据的仓库。二、数据库的分类关系型数据库不仅存储数据本身,还存储数据之间的关系数据存储在硬盘上非关系型数据库也被称为NoSQL数据库。NoSQL的产生并不是要否定关系型数据库,而是作为关系型数据库的一个有效补充。相当于缓存中间件。数据存储在内存中三、数据库的术语数据库系统(DBS):是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成。数据库管理系统(DBMS):是一

2021-03-10 20:33:39 259 1

原创 【归纳总结】JavaEE之会话技术 Cookie&Session

什么叫做会话技术?答:服务器与浏览器之间进行一问一答的行为。为什么要会话技术?答:因为HTTP协议其实是一个无状态的协议。对于服务器来说,服务器是无法区别每个HTTP请求时来自于同一个客户端,还是来自于不同的客户端,因为HTTP请求报文全部长得都是一个样,报文里面并没有任何可以表明客户端身份的一个信息。简单来说,服务器不能区分客户端。但是,我们有这样的需求:希望服务器能够帮我们客户端去存储一些数据。所有,引入专门的会话技术来解决整个问题。会话技术有哪些?Cookie 和 Sessi..

2021-03-09 23:38:36 234

原创 【归纳总结】JavaEE之Fileupload——向服务器上传文件

一、如何向服务器上传一个本地图片?首先,Fileupload的使用场景:比如说提交作业,更换头像。需要一个form表单,表单有如下三个要求input type = filemethod = postenctype=multipart/form-data@WebServlet("/upload")public class UploadServlet extends HttpServlet { protected void doPost(HttpServletRequest reque

2021-03-07 23:11:49 321 3

空空如也

空空如也

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

TA关注的人

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