自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 后端返回给前端json数据时,隐藏为null的字段

1. 隐藏为null的字段1.1 单个javabean在JavaBean上标注@JsonInclude(JsonInclude.Include.NON_NULL)注解@Data@NoArgsConstructor@AllArgsConstructor@JsonInclude(JsonInclude.Include.NON_NULL)public class ResultVO<T> { // 错误码 private Integer code; // 提示信息

2022-02-15 23:35:12 1620 1

原创 MyBatisPlus学习笔记

MyBatisPlus学习笔记文章目录MyBatisPlus学习笔记一、快速开始二、通用CRUD1. 插入方法(insert)2. 更新操作2.1 根据id更新(updateById)2.2 根据条件更新(update)3. 删除操作3.1 deleteById3.2 deleteByMap3.3 delete3.4 deleteBatchIds4. 查询操作4.1 selectById4.2 selectBatchIds4.3 selectOne4.4 selectCount(根据wrapper查询中

2022-02-13 01:57:47 633

原创 【学习笔记】SpringCloud微服务架构

文章目录@[toc]SpringCloud微服务架构一、认识微服务1. 服务架构的演变1.1 单体架构1.2 分布式架构1.3 服务治理1.4 微服务1.5 总结2. 微服务技术对比2.1 微服务架构2.2 微服务技术对比2.3 企业需求3. SpringCloud二、微服务拆分案例1. 服务拆分1.1 服务拆分注意事项2. 服务间调用2.1 步骤2.2 提供者和消费者三、eureka注册中心1. 远程调用问题2. eureka原理2.1 Eureka作用2.2 总结3. 搭建EurekaServer3.1

2022-01-29 18:04:56 1881

原创 SpringBoot中Web原生组件注入(Servlet、Filter、Listener)

SpringBoot中Web原生组件注入(Servlet、Filter、Listener)文章目录SpringBoot中Web原生组件注入(Servlet、Filter、Listener)一、使用Servlet API二、使用RegistrationBean2.1 ServletRegistrationBean一、使用Servlet API在主类中添加@ServletComponentScan(basePackages = "cn.edu.tiangong")注解。作用:制定原生servl

2022-01-18 22:03:32 393

原创 SpringBoot中编写拦截器(Interceptor)

SpringBoot中编写拦截器(Interceptor)文章目录SpringBoot中编写拦截器(Interceptor)步骤1. 编写一个拦截器实现HanderInterceptor2. 拦截器注册到容器中(实现WebMvcConfigure的addInterceptors)3. 【注意】制定拦截规则,如果是拦截所有,则静态资源也会被拦截,需要手动排除或配置静态资源访问前缀步骤1. 编写一个拦截器实现HanderInterceptor/** * 登录拦截器 */@Log4j2publ

2021-12-27 21:28:28 1459

原创 thymeleaf中th:include, th:insert, th:replace的区别

thymeleaf中th:include, th:insert, th:replace的区别一、代码和介绍footer.html<footer th:fragment="copy"> 需要copy的代码...</footer>需要引用copy的页面,有三种方式【注意】这里的footer是页面的名称,不是标签的名称<body> ...其他代码 <div th:insert="footer :: copy"><

2021-12-23 16:47:25 681

原创 SpringBoot中开启矩阵变量

SpringBoot中默认是不可以使用矩阵变量的,需要手动配置。解决方案有两种

2021-12-18 22:12:23 1262

原创 MyBatis运行原理及部分源码流程解析

MyBatis运行原理文章目录MyBatis运行原理0. Mybatis四大对象1.根据配置文件创建SqlSessionFactory2. 获取SqlSession对象(如何openSession)3. 获取接口的代理对象(MapperProxy)4. 运行原理0. Mybatis四大对象ParameterHandlerSqlSourceExecutor(在获取SqlSession对象时创建)ResultSetHandler1.根据配置文件创建SqlSessionFactory作用:

2021-11-20 21:57:43 943

原创 多目标进化优化-BiGE

1. 基本思想BiGE算法是将众目标问题转换为2目标问题的一个算法。然后再在二维空间中使用某种非支配排序算法进行选择其中,转化为的2个目标分别是收敛性和多样性(密度估计)2. 动机随着目标的增多,大多数个体之间变得互不支配,导致收敛压力不足在2维空间中,两个个体可以比较的概率为50%;在3维空间中,两个个体可以比较的概率是25%所以,在二维空间中,Pareto支配关系可以发挥最高效的作用3. 算法框架3.1 近似距离先归一化归一化后,个体的近似距离为每个维度的目标值的和3

2021-11-16 20:54:16 527

原创 多目标进化优化-MaOEA-IGD

1. 创新点一种基于分解的nadir point评估方法一种新的非支配比较策略:个体和参考点之间比较3种近似距离分配方案基于新的非支配比较策略和3种新的近似距离分配方案改进了环境选择和交叉选择机制。2. DNPE公式:好处:不用每次都进行非支配排序,挑选出PF的边界点,可以让算法更节约计算成本。目的:找到乌托邦PF,使之能够准确的用于计算IGD指标3. 算法框架3.1 产生均匀的参考点先根据DNPE找到每个维度的nadir point和ideal point

2021-11-16 20:50:36 894

原创 多目标进化优化-SPEA/R

1. diversity-first and convergence-second的动机原文:In many-objective optimization,the convergence-first-and-diversity-second strategy can be of limited use because the proportion of nondominated solutions is very high and diversity preservation is very likel

2021-11-16 20:46:13 889

原创 Spring5框架

Spring5框架????文章目录Spring5框架????一、Spring框架概述1. 什么是Spring?2. Spring有什么用?3. Spring的核心组成4. Spring的特点二、入门案例1. 下载地址2. 需要的jar包3. 创建一个普通的类,在类中创建普通的方法4. 创建Spring配置文件5. 测试三、IOC容器1. IOC和概念底层原理1.1 什么是IOC?1.2 IOC的底层原理2. IOC接口(BeanFactory)3. IOC操作 Bean管理3.1 什么是Bean管理3.

2021-10-31 17:10:48 408

原创 Redis

Redis????文章目录Redis????一、概念二、下载安装三、命令操作1. redis的数据结构2. 字符串类型 string3. 哈希类型 hash4. 列表类型 list(允许存储重复)5. 集合类型set:不允许存储重复6.有序结合sortedset7. 通用名列四、持久化操作五、使用Java客户端操作jedis1. 使用步骤2. Jedis操作各种redis中数据结构3. jedis连接池:JedisPool六、案例一、概念redis是一款高性能的NOSQL系列的非关系型数据库关

2021-09-13 21:53:25 190

原创 Ajax和Json

Ajax和Json文章目录Ajax和Json一、AJAX1. 概念2. 实现方式2.1 原生的JS实现方式(了解)2.2 jQuery的实现方式二、JSON1. 概念2. 语法2.1 基本规则2.2 获取数据2.3 JSON数据和Java对象的相互转换三、案例一、AJAX1. 概念AJAX:ASynchronous JavaScript And XML 异步的JavaScript 和 XMLAJAX是一种在无需加载整个页面的情况下,能够更新部分网页的技术通过在后台与服务器进行少量的数据交换,A

2021-09-12 17:10:26 191

原创 jQuery高级

jQuery高级文章目录jQuery高级一、动画二、遍历三、事件绑定四、案例五、插件一、动画三种方式显示和隐藏元素二、遍历js的遍历方式for(初始化值;循环结束条件;步长)jq的遍历方式jq对象.each(callback)语法:jquery对象.each(function(index,element){});index:就是元素在集合中的索引element:就是集合中的每一个元素对象this:集合中的每一个元素对象回调函数返回值true:如果

2021-09-08 21:05:27 100

原创 jQuery基础

JQuery基础文章目录JQuery基础一、概念二、快速入门三、JQuery对象和JS对象的区别与转换四、选择器(非常重要)1. 基本语法1.1 事件绑定1.2 入口函数1.3 样式控制2. 分类五、DOM操作六、案例一、概念JavaScript的框架。简化JS的开发jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由[John Resig](https://baike.baidu.com/item/Jo

2021-09-07 21:08:37 140

原创 Cookie和Session笔记

Cookie和Session笔记????文章目录Cookie和Session笔记????一、会话技术1. Cookie1.1 概念1.2 快速入门1.3 Cookie实现原理1.4 Cookie的细节1.5 Cookie的特点和作用1.6 记住上一次访问时间2. Session2.1 概念2.2 快速入门2.3 session的原理2.4 Session的细节2.5 session的特点2.6 session与cookie的区别2.7 案例二、JSP入门1. 概念2. 原理3. JSP的脚本4. JSP

2021-08-22 16:53:40 202

原创 每次访问某个界面,展示欢迎回来,并展示上次访问时间

存在问题SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");中间有一个空格,会导致编解码问题解决方案设置cookie之前进行编码,servlet获取上次访问时间前进行解码String URLEncode(String str, String enc)和String URLDecode(String str, String enc)代码package cn.edu.tjpu.cookieTest;import

2021-08-20 22:05:53 697

原创 Tomcat、Servlet

Tomcat、Servlet????文章目录Tomcat、Servlet????一、web知识回顾1. 软件架构2. 资源分类3. 网络通信三要素二、web服务器软件:Tomcat1. 简介2. Tomcat2.1 Tomcat简介2.2 Tomcat目录结构2.3 将Tomcat集成到IDEA中三、Servlet入门1. 概念2. Servlet快速入门2.1 创建步骤3. Servlet执行原理4. Servlet中的生命周期4.1 被创建(init)4.2 提供服务(service)4.3 销毁(

2021-08-19 23:25:50 162

原创 Response☔

Response☔文章目录Response☔一、HTTP协议:响应消息1. 数据格式2. 响应行3. 响应头4. 响应体二、Response对象1. 功能2. 案例2.1 完成重定向2.2 服务器输出字符数据到浏览器2.3 服务器输出字节数据到浏览器2.4 验证码三、ServletContext对象1. 概念和获取1.1 概念1.2 获取2. 功能2.1 获取MIME类型2.2 域对象(共享数据)2.3 获取文件的真实(服务器)路径3. 案例一、HTTP协议:响应消息1. 数据格式请求消息

2021-08-19 23:22:35 199

原创 从网页下载文件解决中文文件名乱码的工具类

package utils;import sun.misc.BASE64Encoder;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;public class DownLoadUtils { public static String getFileName(String agent, String filename) throws UnsupportedEncodingException

2021-08-19 23:15:25 141

原创 【三种解决方案】Property ‘dataSource‘ is required

在做黑马某案例时遇到的问题如下:properties文件放到resources路径下jar包需要放到WEB-INF路径下的lib文件中,且lib不能写为libs在JDBCUtils类中,加载properties文件时,一定要与文件名大小写保持一致!!!!! 因为JDBC测试时,是可以不区分大小写的。而在tomcat服务器上运行时,写prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("Druid.properties"));

2021-08-18 01:32:59 3306

原创 Servlet、HTTP协议、Request

Servlet、HTTP协议、Request????文章目录Servlet、HTTP协议、Request????一、Servlet1. 概念2. 步骤3. 执行原理4. 生命周期5. Servlet3.0注解配置6. Servlet体系结构6.1 GenericServlet(抽象类)6.2 HttpServlet(抽象类)【推荐使用】7. Servlet相关配置二、HTTP协议1. 概念2. 数据格式2.1 请求消息数据格式(Request)2.2 响应消息数据格式(Response)三、Reques

2021-08-18 01:26:09 73

原创 XML基础

XML????文章目录XML????一、XML概述1. Extensible Markup Language:可扩展标记语言2. 功能3. xml与html的区别二、语法1. 基本语法2. 快速入门3. 组成部分3.1 文档声明3.2 指令(结合css)3.3 标签3.4 属性3.5 文本内容3.6 约束三、解析1. Jsoup快速入门2. Jsoup对象的使用3. 快捷查询方式一、XML概述1. Extensible Markup Language:可扩展标记语言可扩展:标签都是自定义的。

2021-08-15 00:08:36 104

原创 Bootstrap

Bootstrap⛅文章目录Bootstrap⛅一、 概念二、快速入门2.1 响应式布局2.2 CSS样式和JS插件2.2.1 全局CSS样式1. 按钮2. 图片3. 表格4. 表单2.2.2 组件2.2.3 插件一、 概念概念:一个前端开发的框架框架:一个半成品软件,开发人员可以在框架基础上,再进行开发,简化编码好处:定义了很多css的样式和js插件。我们开发人员可以直接使用这些样式和插件得到丰富的页面效果响应式布局。同一套页面可以兼容不同分辨率的设备二、快速入门下载Boo

2021-08-14 19:05:50 63

原创 HTML、CSS、JavaScript

HTML、CSS、JavaScript????文章目录HTML、CSS、JavaScript????1. web的概念概述1.1 JavaWeb1.2 软件架构1.3 B/S架构详解2. HTML2.1 概念2.2 快速入门2.3 标签分类1. 文件标签:构成html最基本的标签2. 文本标签:和文本有关的标签3. 图片标签4. 列表标签5. 超链接标签6. div和span7. 语义化标签8. 表格标签9. 表单标签3. CSS3.1 概念3.2 CSS的使用:CSS与HTML的结合方式3.3 CSS

2021-08-13 22:17:39 111

原创 JDBC、SpringJDBCTemplate

JDBC????文章目录JDBC????1. JDBC基本概念1.1 概念1.2 本质1.3 快速入门1.4 详解各个对象1.5 抽取JBDC工具类:JDBCUtils2. JDBC控制事务2.1 概述2.2 转账案例3. 数据库连接池(重要)3.1 数据库连接池基本介绍3.2 实现3.3 C3P0:数据库连接池技术3.4 Druid:数据库连接池实现技术,由阿里巴巴提供4. Sring JDBC:JDBC Template(重要)1. JDBC基本概念1.1 概念Java DataBase Co

2021-08-09 00:24:45 81

原创 MySQL基础语法

MySQL基础语法文章目录MySQL基础语法1. MySQL服务器的基本结构2. SQL概念2.1 什么是SQL2.2 SQL语句分类3. DDL操作数据库3.1 创建数据库3.2 查看数据库3.3 修改数据库3.4 删除数据库3.5 使用数据库4. DDL操作表结构4.1 创建表4.2 查看表4.3 快速创建一个相同的表4.4 删除表4.5 修改表结构5. DML操作表中的数据5.1 插入数据(增)5.2 更新表记录(改)5.3 删除表记录(删)6. DQL查询表中的数据6.1 指定列别名查询6.2

2021-08-06 18:48:41 91

原创 Java反射机制

反射机制????文章目录反射机制????1. 类加载器1.1 类加载1.2 类加载器2. 反射2.1 反射概述2.2 获取Class类对象2.3 反射获取构造方法并使用2.4 反射获取构造方法并使用2.5 反射获取成员变量并使用2.6 反射获取成员变量并使用练习2.7 反射获取成员方法并使用2.8 反射获取成员方法并使用练习2.9 反射练习3. 模块化3.1 模块化概述3.2 模块的基本使用1. 类加载器1.1 类加载当程序要是用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,

2021-08-03 23:37:24 83

原创 Stream流

Stream流????1. Stream流1.1 体验Stream流需求: 1. 创建一个集合,存储多个字符串元素 2. 把集合中所有以“张”为开头的元素存储到一个新集合中 3. 把“张”开头的集合中的长度为3的元素存储到一个新的集合中 4. 遍历上一步得到的集合使用Stream流的方式完成过滤操作:list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length() >= 3).fo

2021-08-03 01:17:37 79

原创 Java中整型和字符串之间相互转换

整型====>字符串Integer.toStringint i = 123;String str = Integer.toString(i);String.valueOf(i)int i = 123;String str = String.valueOf(i);" "+iint i = 123;String str = i + "";字符串====>整型Integer.parseInt(s)String str = "123";int i = In

2021-08-02 18:32:21 214

原创 Lambda表达式

Lambda表达式????文章目录Lambda表达式????1. Lambda表达式1.1 函数式编程思想概述1.2 体验Lambda表达式1.3 Lambda表达式的标准格式1.4 Lambda表达式的练习1.5 Lambda表达式的省略模式1.6 Lambda表达式注意事项1.7 Lambda表达式和匿名内部类的区别1. Lambda表达式1.1 函数式编程思想概述面向对象思想强调: “必须通过对象的形式来做事情”函数式思想则尽量忽略面向对象的复杂语法: “强调做什么,而不是以什么形式去做

2021-08-01 02:41:07 135

原创 Java之网络编程

网络编程????文章目录网络编程????1. 网络编程入门1.1 网络编程概述1.2 网络编程的三要素1.3 IP地址1.4 端口1.5 协议2. UDP通信程序2.1 UDP通信原理2.2 UDP发送数据2.3 UDP接收数据3. TCP通信程序3.1 TCP通信原理3.2 TCP发送数据3.3 TCP接收数据3.4 TCP协议可能会遇到的问题3.5 练习1. 网络编程入门1.1 网络编程概述网络编程在网络通信协议下,实现网络互联的不同计算机上运行的程序间可以进行数据交换1.2 网络

2021-07-31 01:26:35 81

原创 Java多线程(MultiThreading)

多线程文章目录多线程1. 实现多线程1.1 进程1.2 线程1.3 多线程的实现方式1.4 设置和获取线程名称1.5 线程调度1.6 线程控制的三个方法1.7 线程的生命周期1.8 多线程的实现方式2. 线程同步2.1 同步代码块解决数据安全问题2.2 同步方法2.3 线程安全的类2.4 Lock锁3. 生产者消费者3.1 生产者消费者模式概念3.2 生产者消费者案例1. 实现多线程1.1 进程进程是正在运行的程序是系统进行资源分配和调用的独立单位每个进程都有它自己的内存空间和系统资源

2021-07-30 15:39:01 191

原创 Java之IO流

IO流文章目录IO流1. File1.1 File类的概述与构造方法1.2 File类创建功能1.3 File类判断和获取功能1.4 File类删除功能1.5 递归2. 字节流2.1 IO流概述:2.2 IO流分类2.3 字节流写数据的三种方式2.4 字节流写入数据的两个小问题2.5 字节流读取数据(一次读取一个字节数据)2.6 字节缓冲流(提高读写数据效率)3. 字符流4. 特殊操作符1. File1.1 File类的概述与构造方法File是文件和目录名的抽象表示。文件和目录是可以通过Fi

2021-07-26 01:26:46 135

原创 Java之Set集合

Set集合1. Set集合的特点不包含重复的元素没有带索引的方法,所以不能使用普通for循环进行遍历HashSet是Set接口的一个实现类:对集合的迭代顺序不做任何保证2. 哈希值哈希值:是JDK根据对象的地址或字符串或者数字算出来的int类型的数值。Object类中获取哈希值的方法: hashCode()对象的哈希值的特点:同一个对象多次调用hashCode()方法得到的哈希值是相同的默认情况下,不同对象的哈希值是不同的。而重写hashCode方法后,可以实现让不同对

2021-07-25 09:19:42 107

原创 Java处理异常

一、throw关键字作用: 可以使用throw关键字在指定方法中抛出指定的异常使用格式: throw new xxxException(“异常产生的原因”);【注意】throw关键字必须在方法内部使用。throw关键字后面new的对象必须是Exception或Exception的子类。throw关键字抛出指定的异常对象, 我们就必须处理这个异常对象throw关键字后面创建的是RuntimeException或者是RuntimeException的子类对象,我们可以不处理,交给J

2021-07-21 22:08:26 48

原创 Collection、泛型

主要内容Collection集合迭代器增强for泛型教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合进行取元素 能够说出集合的使用细节 能够使用集合存储自定义类型 能够使用foreach循环遍历集合 能够使用泛型定义集合对象 能够理解泛型上下限 能够阐述泛型通配符的作用第一章 Collection集合1.1 集合概述在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢?集合:集合是ja

2021-07-16 16:51:45 58

原创 Java常用api之包装类

一、概述Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:基本类型对应的包装类(位于java.lang包中)byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean

2021-07-16 15:14:27 73

原创 Java常用api之StringBuilder类

一、StringBuilder的原理StringBuilder类字符串缓冲区,可以提高字符串的操作效率。(看成一个长度可以变化的字符串)底层也是一个数组,但是没有被final修饰,可以改变长度。byte[] value = new byte[16]; // 初始容量为16个二、构造方法根据StringBuilder的API文档,常用构造方法有2个:public StringBuilder():构造一个空的StringBuilder容器。public StringBuilder(Strin

2021-07-10 21:30:17 141

空空如也

空空如也

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

TA关注的人

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