自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot项目中使用QQ邮箱发送验证码

如何在Spring Boot项目中使用QQ邮箱发送验证码在QQ邮箱的【设置】—> 【账户】里开启SMTP服务,会得到一串授权码记得妥善保存。创建配置类@Configurationpublic class MailConfig { /** * 获取邮件发送实例 */ @Bean public MailSender mailSender(){ JavaMailSenderImpl mailSender = new Java

2022-03-31 22:37:40 698

原创 Mapper.xml中association和collection的区别

Mapper.xml中association和collection的区别:association 一对一或多对一collection 一对多Mapper.xml文件中association的使用举例:<resultMap type="Blog" id="BlogResult"> <result property="id" column="id"/> <result property="title" column="title"/> &l

2022-03-03 15:02:21 847

原创 2021-11-10 Spring MVC

文章目录MVC架构模式简介1、MVC是Model、View和Controller的缩写,分别代表 web应用程序中的3种职责。2、基于servlet的MVC模式SpringMVC简介1、什么是SpringMVC2、SpringMVC中重要的组件3、SpringMVC工作流程SpringMVC的基本使用1、jar包依赖2、搭建环境3、配置前端控制器4、创建ControllerSpringMVC基于注解开发1、注解介绍2、搭建环境3、配置前端控制器4、创建Controller5、配置注解驱动获取请求参数1、通过

2021-11-10 22:46:29 906

原创 2021-11-04 Spring

Spring学习测试代码和jar包https://pan.baidu.com/s/1nheX6YZEYsEoWxXgnMiMg提取码:cwpu文章目录Spring学习Spring简介1、Spring介绍2、Spring的四种关键策略3、Spring特点4、Spring的体系结构4.1 Data Access/Integration(数据访问/集成)4.2 Web4.3 Core Container(核心容器)4.4 其他模块5、jar包下载SpringIOC容器1、SpringIOC容器简介1.1

2021-11-04 12:31:30 718 9

原创 2021-10-28 MyBatis学习

Mybatis框架框架( Framework )是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架( Framework )是构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。ORMORM,Object-Relational Mapping,对象关

2021-10-29 17:01:14 361 2

原创 2021-09-20 Lambda表达式

lambda表达式@FunctionalInterface函数式接口的注解函数式接口中只能有一个抽象方法,并不是只能有一个方法。1、基础使用2、引用方法方法归属者 : : 方法名静态方法的归属者是类,普通方法的归属者是对象package com.chen.lambda;/** * lambda表达式引用方法 */public class Test { public static void main(String[] args) { //引用本类中的静态方法

2021-09-20 21:44:01 91

原创 2021-08-05 表单加密及优化

提交表单(重点) 密码加密 表单优化<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--MD5工具类 【是好是坏?无法加载源映射,在线链接不行,下载本地也不行】【或许可以尝试别的加密工具】--> <!--<script src="lib/md5.j.

2021-08-05 20:53:06 137 2

原创 2021-08-05 JavaScript

JavaScript结构层(Html)——表现层(CSS)——行为层(JavaScript)【CSS预处理器】用一种专门的编程语言,进行Web页面样式设计,再通过编译器转化为正常的CSS文件。常见的CSS预处理器:SASS LESSSASS:基于Ruby,通过服务端处理,功能强大。解析效率高。需要学习Ruby语言,上手难度高于LESSLESS:基于NodeJS,通过客户端处理,使用简单。功能比 SASS简单,解析效率也低于SASS,但在实际开发中基本满足需求1、什么是JavaScrip

2021-08-05 20:48:20 144

原创 2021-08-04 CSS3

1、什么是CSS如何学习?CSS是什么?如何快速入门?CSS选择器(重点+难点)美化网页(文字、阴影、超链接、列表、渐变……)盒子模型浮动定位网页动画(特效)1.1 什么是CSSCascading Style Sheet 层叠/级联样式表CSS 表现层 美化网页字体、颜色、边距、宽度、高度、背景图片、网页定位、网页浮动1.2 发展史CSS1.0CSS2.0 DIV(块) +cSS,HTML与CSS结构分离的思想,网页变得简单,SEOCSS2.1 浮动

2021-08-04 08:57:52 239

原创 2021-07-31 HTML5

前端第一部分——HTML5Hyper Text Markup Language(超文本标记语言)w3C World Wide Web Consortium(万维网联盟)Search Engine Optimization (SEO)(搜索引擎优化)w3C标准包括结构化标准语言(HTML、XML)表现标准语言(css)行为标准(DOM、ECMAScript )网页的基本结构#开放标签和闭合标签 自闭合标签<!--DOCTYPE:告诉浏览器,我们要使用什么规范-->&lt

2021-07-31 20:01:23 277

原创 2021-07-17 注解和反射

注解1、内置注解@override@Deprecated——已过时的@SuppressWarnings2、元注解(meta-annotation)@Target:用于描述注解的使用范围,即被描述的注解可以用在什么地方@Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期 ( source < class < runtime)@Documented:说明该注解将被包含在javadoc中@Inherited:说明子类可以继承父类中的注解3、自定义注

2021-07-17 22:44:26 84

原创 2021-07-11 多线程(第一部分)

多线程【程序】是指令和数据的有序集合,是静态的。【进程process】是指执行程序的一次过程,是动态的。进程是系统资源分配的单位。一个进程至少有一个线程。【线程thread】线程是CPU调度和执行的单位。实际的单核和多核,虚拟的多线程和实际的多线程。【注意】线程就是独立的执行路径;在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程;main()称之为主线程,为系统的入口,用于执行整个程序;在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作

2021-07-11 19:38:05 89

原创 2021-07-11 多线程(第二部分)

线程协作线程通信—分析【生产者消费者模式】这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件。对于生产者,没有生产产品之前,要通知消费者等待;而生产了产品之后,又需要马上通知消费者消费。对于消费者,在消费之后,要通知生产者已经结束消费,需要生产新的产品以供消费。在生产者消费者问题中,仅有synchronized是不够的,synchronized可阻止并发更新同一个共享资源,实现了同步,但是synchronized不能用来实现不同线程之间的消息传递(通信)

2021-07-11 19:12:52 106

原创 2021-07-10 Apache IO

Apache IO包Apache-commons工具包中提供了IOUtils/FileUtils,可方便的对文件和目录进行操作。FileUtils类【常用方法】cleanDirectory:清空目录,但不删除目录contentEquals:比较两个文件的内容是否相同copyDirectory:将一个目录内容拷贝到另一个目录。可以通过FileFilter过滤需要拷贝的文件copyFile:将一个文件拷贝到一个新的地址copyFileToDirectory:将一个文件拷贝到某个目录下copy

2021-07-10 09:55:21 155

原创 2021-07-09学习——IO流

文件字符流文件字节流可以处理所有的文件,如果处理文本文件,也可以使用文件字符流,它以字符为单位进行操作。文件字符输入流public static void main(String[] args) { FileReader frd = null; try{ //创建文件字符输入流对象 frd = new FileReader("E:/a.txt"); int temp = 0;

2021-07-09 22:17:51 165

原创 2021-07-08学习 IO流

IO简介输入(Input):可以让程序从外部系统获得数据(核心含义是"读",读取外部数据)。输出(Output):程序输出数据给外部系统从而可以操作外部系统(核心含义是“写”,将数据写出到外部系统)。数据源数据源Data Source,提供数据的原始媒介。常见的数据源有:数据库、文件、其他程序、内存、网络连接、IO设备。数据源分为:源设备、目标设备。【源设备】为程序提供数据,一般对应输入流。【目标设备】程序数据的目的地,一般对应输出流。流流是一个抽象、动态的概念,是一连串连续动态的数据集

2021-07-08 21:34:00 58

原创 2021-07-07电话本项目

电话本项目App类/** * 电话本项目入口类 */public class App { /** * 启动电话本项目 * @param args */ public static void main(String[] args) { } /** * 控制主菜单 */ public void start(){ }}菜单类/** * 生成项目中所有的菜单 */public class

2021-07-08 00:12:06 141

原创 2021-07-04学习笔记—数据结构(栈、单向链表)

数据结构数据结构是以某种特定的布局方式存储数据的【容器】。这种布局方局决定了数据结构对于某些操作是高效的,而对于其他操作则是低效的。所以我们需要理解理解,才能在处理实际问题时选取最合适的数据结构数据结构 = 逻辑结构 + 物理结构(顺序、链式、索引、散列)逻辑结构:数据元素间抽象化的相互关系物理结构:(存储结构),在计算机存储器中的存储形式(数组、链表等)数据结构逻辑分类线性结构数据结构中的元素存在一对一的相互关系常见的线性结构:线性表,栈,队列,串(一维数组)等顺序结构、链

2021-07-04 17:54:43 81

原创 2021-07-04笔记——迭代器

Iterator迭代器【介绍】Collection接口继承了lterable接口,在该接口中包含一个名为iterator的抽象方法,所有实现了Collection接口的容器类对该方法做了具体实现iterator方法会返回一个lterator接口类型的迭代器对象,在该对象中包含了三个方法用于实现对单例容器的迭代处理Map接口没有继承Iterable接口,因此不能直接使用迭代器,但是通过set集合获取key之后,set集合可使用迭代器原本不同容器使用不同的迭代方法,比如基于数组的使用索

2021-07-04 11:09:36 57

原创 2021-07-03笔记

双例集合Map接口定义了双例集合的存储特征,它不是Collection接口的子接口。双例集合的存储特征是以【key】与【value】结构为单位进行存储。体现的是数学中的函数 y=f(x)的概念Map 与collecton的区别Collection 中的容器,元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储Map 中的容器,元素是成对存在的。每个元素由【键】与【值】两部分组成,通过键查找对对应的值Collection 中的容器称为单列集合,Map中的容器称为双列集合Map 中的集合

2021-07-03 16:58:36 59

原创 2021-07-02笔记

Set接口介绍Set接口继承自Collection,Set接口中没有新增方法,方法和Collection保持完全一致。我们在前面通过List学习的方法,在Set中用法相同。【特点】无序、不可重复。无序指Set中的元素没有索引,只能遍历查找;不可重复指不允许加入重复的元素,如果要加入的新元素和Set中某个元素通过equals()方法对比为true,则不予加入Set常用的实现类有:【HashSet】、【TreeSet】等,我们一般使用HashSetHashSet容器类没有重复元素

2021-07-02 21:51:36 72

原创 2021-07-01笔记

容器的并集操作List<String> a = new ArrayList<>(); a.add("I"); a.add("lv"); a.add("U"); List<String> b = new ArrayList<>(); b.add("U"); b.add("give"); b.add("veni"); //a并b,若

2021-07-01 23:48:49 103 3

原创 2021-06-17-2课堂笔记

2021-06-17-2异常机制检查性异常运行时异常错误Error异常体系结构java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类在java API中已经定义了许多异常类,这些异常类分为两大类:错误Error和ExceptionErrorError类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需的内存资源时,将

2021-06-17 17:51:42 55

原创 2021-06-17-1课堂笔记

2021-06-17-1static关键字详解static决定方法生效的时间先后从类、从对象调用方法package com.oop.demo07;//staticpublic class Student { private static int age;//静态变量 多线程! private double score;//非静态变量 public void run(){ } public static void go(){ }

2021-06-17 17:49:16 43

原创 2021-06-16课堂笔记

2021-06-16类一种抽象的数据类型,对某一类事物整体描述或定义,但不能代表某具体的事物动物、植物、手机、电脑……Person类、Pet类、Car类等,这些类都是用来描述或定义某一类事物应具备的特点和行为对象抽象概念的具体实例张三是人的一个具体实例,张三家里的旺财是狗的一个具体实例能体现特点,展现功能的是具体的实例,而不是一个抽象的概念创建与初始化对象使用new关键字创建对象创建时,除分配内存空间外,还会给【创建好的对象】进行默认的初始化以及对类中构造器的调用

2021-06-16 16:37:30 67

原创 2021-06-15课堂笔记

2021-06-15面向过程&面向对象面向过程步骤清晰简单,第一步做什么,第二步做什么……面对过程处理较简单问题面向对象物以类聚,解决问题首先思考需要哪些分类,然后对分类进行单独思考,最后对某个分类下的细节进行面向过程的思索面向对象适合处理复杂的、需要多人协作的问题对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,需要用面向对象的思路来分析。但是,具体到微观操作,仍然需要用面向过程的思路去处理属性+方法=类什么是面向对象?Object-Oriented

2021-06-15 20:47:39 61

原创 2021-06-14课堂笔记

2021-06-14课堂笔记多维数组多维数组可以看成数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组二维数组int a[][] = new int[2][5];解析:二维数组a可以看成一个两行三列的数组。思考:多维度数组的使用Arrays类数组的工具类java.util.Arrays数组对象本身没有什么方法,但API中提供了一个工具类Arrays供我们使用查看JDK帮助文档Arrays类中的方法都是static修饰的静态方法,在使用的

2021-06-15 01:21:41 64

原创 2021-06-13课堂笔记

2021-06-13 课堂笔记数组数组是同一类型数据的有序集合其中每个数据称为数组的元素,每个元素可以通过一个下标来访问它们数组声明创建首先必须声明数组变量,才能在程序中使用数组。比如dataType[] arrayReVar;//首选的方法或dataType arrayRefVar[];//效果相同,非首选java语言使用new操作符来创建数组,语法如下:dataType[] arrayRefVar = new dataType[arraySize];//必须声明数组的容

2021-06-13 18:52:54 64

原创 2021-06-12课堂笔记

2021-06-12 课堂笔记命令行传参有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。package com.kuang.method;public class Demo03 { public static void main(String[] args) { //args.length数组长度 for (int i = 0; i < args.length; i++) { Syst

2021-06-12 16:44:10 1111 2

原创 2021-06-11 课堂笔记

2021-06-11课堂笔记增强for循环语法格式:for(声明语句:表达式){//代码句子}主要用于数组或集合,Java5引入声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法。break continuebreak在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句(break语

2021-06-11 17:07:45 37

原创 2021-06-10 课堂笔记

2021-6-10课堂笔记用户交互scanner工具类 java.util.Scanner,通过类来获取用户的输入顺序结构选择结构循环结构next()一定要读取到有效字符后才可以结束输入对输入有效字符之前遇到的空白,next()方法会自动将其去掉只有输入有效字符后才将其后面输入的空白作为分隔符或结束符next()不能得到带有空格的字符串nextLine()以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符可以获得空白选

2021-06-10 18:02:38 79

原创 2021-06-09 课堂笔记

包机制为了更好的组织类,java提供了包机制,用于区别类名的命名空间包本质是文件夹包语句的语法格式为:package pkg1[. pkg2[. pkg3…] ];一般用公司域名倒置作为包名为了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用” import “语句可完成此功能import package1 [ . package2… ] . (classname |*);分级显示包插入包如果两个class文件名完全一样会失败,demo01和Dem

2021-06-09 10:21:01 59

原创 2021-06-08 课堂笔记

运算符逻辑运算符位运算左移右移字符连接串和加号//字符串连接符 + +号两侧有字符串String System.out.println(a+b); System.out.println(""+a+b);//直接串文本不再加和 System.out.println(a+b+"");//先加和再串文本三元运算符//必须掌握x ? y : z//如果x==true,则结果为y,否则结果为z...

2021-06-08 17:56:31 40

原创 2021-06-07 课堂笔记

运算符算术运算符:+,-,*,/,%(取余数,“模”),++,–赋值运算符:= (把10赋值给a)关系运算符:>,<,>=,<=,==,! =(不等于),instanceof逻辑运算符:&&,||,!(与或非)位运算符:&,|,^,~,<<,>>,>>>(了解!!!)条件运算符 ?:扩展赋值运算符:+=,-=,*=,/=如何快速选择多个class文件为什么我的demo08不能放入包base中

2021-06-07 19:23:28 61

原创 2021-06-05 课堂笔记

类型转换由于java是强类型语言,所以要进行有些运算时,需要用到类型转换。低------------------------------------------------------------------->高byte, short, char—> int —> long —> float —>double(小数优先级大于整数)运算中,不同类型的数据先转换为同一类型,然后进行运算。强制类型转换——从高到低 :(类型)变量名内存溢出自动类型转换——从低到高

2021-06-05 17:56:06 124

原创 2021-06-04 课堂笔记

数据类型面试题整数扩展二进制0b八进制0十进制十六进制0x浮点数扩展银行业务怎么表示?钱?—— big decimal (大十进制)数学工具类最好完全避免使用浮点数进行比较float 有限 离散 舍入误差 大约 接近但不等于doubleSystem.out.println(d1==d2);//true字符扩展所有的字符本质还是数字System.out.println((int)c1);//强制转换编码 Unicode表

2021-06-04 11:19:23 71

空空如也

空空如也

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

TA关注的人

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