自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (7)
  • 收藏
  • 关注

原创 spring-boot

Springboot一. springboot诞生的背景​ 出现spring、mybatis、springmvc框架能够帮助我们去解决在Servlet中大量重复代码的问题,但是他们又引入了新的问题,虽然能够帮我们简化重复代码的书写,但是要写很多的配置;springboot的出现就是为了解决这些框架大量配置的问题。二. springboot搭建第一步,创建一个 quickstart 工程第二步,引入依赖pom依赖<parent> <artifact

2021-12-24 10:36:42 209

原创 Spring-boot中过滤器与拦截器

1. 过滤器其实过滤器(Filter)跟Servlet很相似,都是java的一个组件。即请求发送到servlet之前,可以将其拦截和处理请求,也可以在serlvet结束工作之后,在响应发回之前处理响应,做一些事情。因此,可以理解为过滤器filter就是是拦截请求(request)和响应(response),并对传给请求资源的ServletRequest 或 ServletResponse 进行处理的一个对象。1.1. 过滤器的使用场景处理乱码问题;统计request和response的时间,有

2021-12-18 16:50:58 1083

原创 适配器模式

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。参考: 菜鸟教程-适配器模式前提为了解决类中方法更新而使用不了之前方法的问题1. 类适配器模式代码展示:public interface Look { void GIFShow(); void PNGShow();}public class

2021-12-15 16:05:16 484

原创 简单工厂-工厂方法-抽象工厂设计模式的具体实现

工厂设计模式1. 简单工厂设计模式定义:定义了一个创建对象的类,由这个类来封装实例化对象的行为。缺点:类的创建依赖工厂类,如果想要拓展程序,必须对工厂类进行修改,这违背了开闭原则代码示例/** * 数据库接口 */public interface DataBase { //数据更新方法 void update(); //数据删除方法 void delete();}// MySQL数据库对数据库接口的实现public class MySQL

2021-12-14 15:31:22 441

原创 Java基础复习

Java基础总结Java基础知识总结1. 集合1.1集合与数据的区别1.2 集合的大致体系结构1.3 集合中个具体实现类的特色ArrayListLinkedListVectorHashSetTreeSetHashMapTreeMap2. IO流2.1、流的概念2.2、流的分类2.3、IO流的使用3. 多线程3.1 进程与线程3.2 并行和并发3.3 线程的三种创建方式3.4 线程的常用方法3.5 死锁代码实例4. 网络编程4.1 计算机网络分层4.2 TCP协议与UDP协议5. 反射和注解5.1 反射5.1

2021-12-11 15:21:02 594

原创 Linux的常用命令

Linux常用命令vim常用命令

2021-12-11 14:46:15 406

原创 单例模式的五种实现形式(懒汉式,饿汉式,双空判断,内部类,枚举)

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

2021-12-08 16:05:16 144

原创 导入聚合项目时发现其子项目的pom.xml文件是灰色,被划掉了如何解决

解决方法进入idea --》file --》Settings见到如下页面将其子项目的勾去掉即可

2021-12-07 18:21:02 1184

原创 Java面试题分享

1. 什么是gitbookGitBook 可帮助您为用户发布精美的文档,并集中团队的知识以进行高级协作。参考https://docs.gitbook.com/2. 异常处理中return位置的放置对返回值的影响在try-catch-finally中return可以放到try中,可以放到catch中,可以放到finally中。总结:当return放到try或catch中会被finally影响,只要finally中没有return则正常返回,否则以finally为主。3. 什么是BitMapBit

2021-12-07 16:58:03 585

原创 部署前端工程到Nginx,点击浏览器刷新界面时出现404错误解决办法

解决办法try_files $uri $uri/ /index.html;这句配置的意思是每次匹配url路径时候找不到对应静态资源时候调制跳转到index.html文件

2021-12-04 17:32:32 2323

原创 vue与nodejs

vue框架的基本概念一. 开发工具二. 第一个VUE程序2.1 引入js2.2 给dom元素定义id2.3 vue代码编写三. 基本指令四. 计算属性五,事件相关六. 过滤器6.1 全局过滤器6.2 局部过滤器七. vue-cli构建项目与打包部署7.1 使用npm构建项目7.2 项目的结构介绍7.3 项目的打包部署7.4 常用的安装命令八. 组件化开发8.1 编写App.vue和HelloWorld.vue8.2 定义入口JS文件九, 组件间的通信9.1 子父组件向父组件传参9.2 父组件向子组件传参9

2021-12-02 19:43:18 1878

原创 java面试项目经历说辞(Spring全家桶,mybatis,mybatis-plus,redis,rabbitMQ,ES)

以下内容仅为我的某个项目简介说辞,仅供参考各位面试官下午好:    我叫XX,籍贯是XXXX,于2020年本科毕业,毕业至今一直从事与java开发工程师的相关开发工作,曾在XXXX公司有过一年多的开发经历。    我熟悉的技术栈有:Spring全家桶,mybatis,mybatis-plus,redis,rabbitMQ,ES,vue等,在之前一年的开发过程中我一共有着两个项目的开发经验,一个是零食售卖商城,一个是二手手机

2021-11-29 00:15:45 2478

原创 SSM(Spring SpingMVC Mybatis)框架常用注解

1.Spring Boot的常用的注解@SpringBootApplication此注解是Sprnig Boot项目的核心注解,目的是开启自动配置@EnableConfigurationProperties和@ConfigurationProperties属性注入将属性配置注入到Spring 的Bean中,在很多中间件中都需要去定义一些属性的,方式总共有四种:第一种方式,@ConfigurationProperties 和 @Component 搭配使用,属性需要在 applicati

2021-11-28 12:23:14 699

原创 在分布式环境下标准支付流程的梳理

支付流程图的梳理https://www.processon.com/diagraming/61a18a895653bb136f893ecc提交订单当用户点击立即购买或者提交订单的这个时候数据库就会记录一笔订单此项业务主要是用到了rabbitMQ中的死信队列,大致流程就是,当用户提交订单的时候将消息存储到rabbitMQ当中,设置的订单超时时间是一个小时,当用户一个小时未支付rabbitMQ就会将次订单号自动发送到死信队列,然后监控订单状态的系统去对接此死信队列,判断此订单号是否支付

2021-11-27 10:25:24 1888

原创 Linux系统中docker的基本运用

一. docker的安装​ Docker安装步骤的官网地址:https://docs.docker.com/install/linux/docker-ce/ubuntu/1.1配置仓库 yum install -y yum-utilsyum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo1.2 开始安装yum install docker-ce dock

2021-11-20 09:26:05 1887

原创 微信支付(Native下单)功能实现

案例代码展示MyWXPayConfig.java(WXPayConfig接口实现类)package org.example.config;import com.github.wxpay.sdk.WXPayConfig;import java.io.InputStream;public class MyWXPayConfig implements WXPayConfig { @Override //商户账号AppID public String getAppID() {

2021-11-08 19:30:16 1713 3

原创 SSM框架中mybatis的基本使用

​ mybatis是一个非常轻量级的ORM框架,在3.0之前的版本叫做ibatis,在3.0之后便更名为mybatis.其下载地址为:https://github.com/mybatis/mybatis-3/releases

2021-10-30 12:01:07 436

原创 在linux系统上部署前后端分离的javaweb项目(Tomcat的部署,jdk的配置,MySQL的安装等)

1 配置yum源将 /etc/yum.repo.d/Centos-Base.repo 进行备份:mv CentOS-Base.repo CentOS-Base.repo.bak下载阿里的yum源:http://mirrors.aliyun.com/repo/Centos-7.repo, 然后将文件上传到/etc/yum.repo.d/, 命名为:Centos-Base.repo2 安装软件安装 unzip: yum install -y unzip3.jdk的安装​ a. 解压

2021-10-30 11:35:45 573

原创 JDBC的正确使用方式

dbconfig.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/schooldbjdbc.username=rootjdbc.password=admin123JDBCUtils.javapackage com.qianfeng.dao.utils;import java.io.IOException;import java.io.InputStream;import j

2021-10-30 11:35:16 179

原创 java正则表达式

java 中正则表达式的使用需求: 匹配IPv4的地址String content = "192.234.65.12端口和12.4.5.6还有189.256.23.9等等";设计正则表达式((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)String regStr = "((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)\\.){3}(25[0-5]|2[0-4]

2021-10-24 16:42:00 1347

原创 项目回顾(卖淘乐【电子物品回收网站】)

运用框架:ssmp:spring springmvc mybatis-plus运用知识:Spring: IOC DI AOPSpringMVC: 对前端返回数据的处理,对返回给前端数据的处理,JSON数据的请求响应,拦截器的运用mybatis-plus:BaseMapper的运用,wrapper的运用,mapper.xml文件中的增删查改(where,in,order by,set,association,collection)前端:js,jqueryNginx服务器的简单使用项目依

2021-10-19 18:47:00 571 4

原创 在springmvc环境下,前端通过post发送json数据给后端,但报400错误

错误截图400错误是经典的访问方式错误,但是现阶段json数据只能通过post求来发送,不能通过get请求发送解决方案在后端将json封装为对象的时候注意@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”)此注解要与json中的data类型数据格式对应1. 方案一将json数据改为以下形式{ "id": 1, "name": "李四", "birthday": "2010-12-23 21:1

2021-10-08 23:00:38 791

原创 Exception in thread “main“ org.springframework.beans.factory.NoSuchBeanDefinitionException)

出错环境在使用spring框架时,用注解的方式使用AOP(面向切面编程)@EnableAspectJAutoProxy()相当于<aop:aspectj-autoproxy proxy-target-class=“false”></aop:aspectj-autoproxy>出错截图解决办法将@EnableAspectJAutoProxy()改为@EnableAspectJAutoProxy(proxyTargetClass=true)即将<aop:asp

2021-10-08 16:24:28 1552

原创 log4j基本介绍与使用

文章目录一、引言1.1 日志介绍1.2 日志级别1.3 日志作用二、解决方案2.1 Log4j+Commons-Logging2.1.1 导入依赖2.1.2 基本使用2.1.3 配置信息一、引言1.1 日志介绍用于记录系统中发生的各种事件。记录的位置常见的有 :控制台、磁盘文件等1.2 日志级别日志级别从低到高:TRACE、DEBUG、INFO、WARN、ERROR、FATAL1.3 日志作用通过日志观察、分析项目的运行情况 (项目维护)通过日志分析用户的使用情况 (大数据分

2021-10-07 10:34:17 85

原创 通过idea打开之前maven项目发现没有添加maven怎么办

打开maven项目前要先确定一下maven仓库位置是否正确然后检查project SDK是否为jdk1.8

2021-10-01 00:04:38 218

原创 Spring 整体学习(IOC控制翻转 DI依赖注入 AOP 面向切面编程(动态代理) 配置注入 注解注入 )

Spring一. Spring的IOC与DI​ IOC(Invertion Of Control)是控制翻转,是一种编程的思想,就是以前在代码中我们需要通过 new 的方式来使用其他的对象,这种方式导致的结果就是类与类之间耦合度过高,耦合度高导致到迭代成本极高;通过控制的翻转的方式,就是我们项目中用到所有的对象,都通用交个一个容器来管理(在spring中我们叫做 IOC容器);​ DI(Dependency Injection)是依赖注入,它是对IOC编程思想的具体实现。

2021-09-29 20:21:08 177

原创 java经典面试题(多文件统计手机号码,通过对象封装,且需要多线程)

问题描述文件描述问题描述现存在三个文件来存储手机号码,通过处理将对象封装成以下形式通过描述可以看见上述号码有如下特点:号码很多不同,有部分重复号码通过对象封装有如下要求:电话号码、电话号码总数、电话号码指定文件出现次数文件读取使用字符包装类使用多线程,每扫描一个文件就创建一个线程,在线程的处理时一定要注意并发问题,还要考虑线程运行完毕时的情况。解题思路首先此题存在两大问题:如何读取文件内容,如何使用多线程处理问题一: 使用BufferedReader字符包装类,通

2021-09-29 17:53:49 395

原创 (代理模式)静态代理、JDK动态代理、CGLIB动态代理

静态代理设计模式基本概念通过代理类的对象,为原始类的对象(目标类的对象)添加辅助功能,更容易更换代理实现类、利于维护。静态代理优缺点代理类 = 实现原始类相同接口 + 添加辅助功能 + 调用原始类的业务方法。静态代理的问题代理类数量过多,不利于项目的管理。多个代理类的辅助功能代码冗余,修改时,维护性差。​代码实例Business 业务接口package com.qianfeng.workone.example.dynamic;public

2021-09-28 20:58:14 104

原创 java经典面试题(通过输入方法名或者方法名上注解的value值通过反射动态调用该方法)

问题描述现存在一个如下类package com.qianfeng.workone.ReflectWork01;import com.qianfeng.workone.ReflectWork01.annotation.Process;public class Calculate { @Process("添加") public void add() { System.out.println("add 方法被调用了"); } public vo

2021-09-26 19:07:16 286

原创 java经典面试题(通过反射完成对象间的属性值的复制)

问题描述现存在一个person类,其中有age和name两个属性,创建一个测试类,在测试类中创建一个person类的对象,对象中两个属性都被赋值,现如何通过反射创建一个对象将你创建对象的属性值复制下来?基本思路在测试类中创建一个静态方法,作用是传入一个有属性值的对象,返回一个复制属性值后新的该类的对象在静态方法中获得该对象的字节码对象,通过该字节码对象调用get和set方法来进行属性的复制get和set方法的名称通过字符串的拼接组成代码展示Person类package com.q

2021-09-26 17:39:59 106

原创 IO流操作之NullPointerException(空指针异常)

代码package com.qianfeng.workone;import java.io.*;public class Test { public static void main(String[] args) { BufferedReader br = null; //获得输入流 try { br = new BufferedReader(new InputStreamReader(new FileInputStr

2021-09-25 13:34:16 958

原创 mybatis复习

1. 一个参数参数查询, 不需要加 @Param注解: User getById(Integer id); <select id="getById" resultType="org.example.entity.User"> select * from user where id = #{id} </select>2. 多个参数,必须要加 @Param 注解,参数多了不推荐使用单个传参的方式,而是使用对象或者 Map集合的方式:

2021-09-23 19:13:12 149

原创 事务,jdbc,javaweb三层架构,servlet、JSON(firstjson)

事务事务的四大特性:ACID原子性:只的是同一个事务中的所有操作不可分割原子性是通过mysql中的一种日志undolog来实现的,在事务的操作过程中undolog日志记录了从事务的最开始位置到回滚的时候所做的所有操作,在接收回滚指令时mysql只需要读取日志的内容并且进行反向操作即可将数据恢复到事务开始时候的状态一致性:事务执行的前后,数据应该从一种一致状态切换到另一种一致状态1000+1000 1800+200 1000+1000一致性是事务控制的最终目的隔离性:一个事务在执行的过程中不应

2021-09-22 10:54:33 141

原创 第二阶段项目总结(通过layUI实现小区管理系统)

设计的总体思路1. 项目主体架构的搭建首先明确项目所要实现的功能,根据以前的经验找到以前的jar包并导入。三层的搭建,数据访问层 DAO层 数据处理层 Service 表示层 servlet层三层搭建完成之后就通过DButils 完成数据访问层的底层访问,完成数据库连接池的创建数据库的设计,首先要明确数据库之间的包含关系,比如一对一,一对多,多对多的关系,特别注意在数据库的存储数据和页面的展示不一定相同,比如一个班级中有很多学生,那么在班级的表格中就只需要学生的主键储存就行,就算班级在展现学生具

2021-09-18 12:04:09 274

原创 java反射机制小复习

反射相关的主要APIjava.lang.Class:代表一个类java.lang.reflect.Method:代表类的方法java.lang.reflect.Field:代表类的成员变量java.lang.reflect.Constructor:代表类的构造器反射的相关操作获取Class实例的方式//方式一:调用运行时类的属性:.class(可以通过泛型进行约束)Class clazz1 = Person.class;System.out.println(clazz1);//方式二:

2021-09-12 19:48:28 100

原创 js和jQuery复习加上ajax

js的知识函数的两种创建方式var 函数名 = function(参数列表){函数体};function 函数名(参数列表){函数体}//整个页面加载完成时候执行window.onload=function(){}//获取dom对象document. 1. getElementById(id名)通过元素的id获取指定对象 2. getElementByTagName(标签名)根据传入的标签名来获取指定的元素,返回对象数组 3. getElementsByClassName(class

2021-09-10 00:07:27 91

原创 HTML+CSS基础

HTML常用标签<!DOCTYPE html> 文档类型声明,开头位置<html lang="en"></html> lang语言种类,en为英语 zh-CN中文<meta charset="UTF-8"> 设置编码类型<html></html> 页面中最大的标签,根标签<head></head> 网页头部标签,网页标题,必须要设置title标签<title></title

2021-09-08 23:27:14 90

原创 SQL语句进阶练习(多表连接查询)-提供查询题目与解答

说明第一眼看到表的结构可能心中会觉得题目比较简单,但是当我深入做题目的时候发现这题目可能有些变态,几乎费了我一天的时间才把这些题目做出来(可能是因为我不怎么聪明的原因)在我所做的题解中有一部分不是最优解,还有很多高效的查询方式,比如最后一题的解答,我有三种方式解答,但是最后的一种才是最简单的行转列的方式。在这些题目中使用最多的就是join多表连接查询表的基础结构与数据student表数据(学生表)score表数据(成绩表)course表数据(课程表)teacher表数据(老师表)

2021-09-07 23:56:38 2285 1

原创 SQL语句基础练习(表的创建,基础查询)-提供建表语句和查询题目与解答

说明此基础练习的题目难度都比较简单,但是还有一些细节需要把握此题目的主要目的是熟悉SQL语句的基础查询,关于建表方面的语句了解即可,因为一般开发中所用的都是图形化建表,SQL语句建表所用较少。虽然这些题目比较简单,但是开始中大多数都是这些简单的查询,所以需要我们必须掌握。建表要求一、 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)-表(四)所示

2021-09-07 23:39:10 2343

原创 工厂设计模式(java版本,代码简易版本,功能完善,举例有代表性)-第一阶段-第二十四天

抽象工厂模式的主要角色。抽象工厂(Abstract Factory):提供了创建产品的接口,它包含多个创建产品的方法 newProduct(),可以创建多个不同等级的产品。具体工厂(Concrete Factory):主要是实现抽象工厂中的多个抽象方法,完成具体产品的创建。抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能,抽象工厂模式有多个抽象产品。具体产品(ConcreteProduct):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间是多对一的关系。

2021-09-06 23:46:20 83

学生数据库sql文件,包含学生信息,学生成绩,课程信息,老师信息,共四个表格

提供SQL语句增删改查的数据库

2021-09-07

多人聊天室java实现.rar

本聊天室命名为mfqq聊天室 主要用于局域网内的文本信息交流 在此聊天室中共有以下功能: 注册:直接输入用户名和密码就可成功注册并登录进入聊天室 登录:输入已注册的用户和密码即可进入聊天室 创建群聊:能够创建局域网中任意用户数量的群聊(创建者必须写在第一位) 在文本信息交流中有以下几种交流方式: 一对一(私聊) 一对多(群聊) 一对所有局域网用户(公告)

2021-09-04

Shoot02.rar

通过Java语言和GUI实现微信飞机大战,其中功能有射击得分,性命获得,火力加成,背景音乐,游戏暂停,敌机发射子弹

2021-08-05

moraGame.rar

这是一个通过Java语言在控制台中实现的猜拳游戏,通过面向对象的方式,将游戏中的每一个对象划分出来,描述各个类的属性和方法

2021-07-27

数据结构实验报告之后缀表达式的转化3.doc

此报告是解决中缀表达式向后缀表达式的转换 4, 设计分析 将算术表达式转化为后缀表达式的规则: 1)如果遇到操作数,我们就直接将其输出。 2)如果遇到操作符,则我们将其放入到栈中,遇到左括号时我们也将其放入栈中。 3)如果遇到一个右括号,则将栈元素弹出,将弹出的操作符输出直到遇到左括号为止。注意,左括号只弹出并不输出。 4)如果遇到任何其他的操作符,如(“+”, “*”,“(”)等,从栈中弹出元素直到遇到发现更低优先级的元素(或者栈为空)为止。弹出完这些元素后,才将遇到的操作符压入到栈中。有一点需要注意,只有在遇到" ) "的情况下我们才弹出" ( ",其他情况我们都不会弹出" ( "。 5)如果我们读到了输入的末尾,则将栈中所有元素依次弹出。 后缀表达式求值过程: 从左到右读入后缀表达式,若读入的是一个运算符,就将它进运算符栈;若读入的是一个运算符op,就从运算数栈中连续出栈两个元素,假设为x和y,计算x op y之值,并将计算结果入运算数栈;对整个后缀表达式读入结束时,运算数栈中栈顶元素就是计算结果。

2020-07-06

数据结构实验报告之一元多项式求和(链表)报告2.doc

实验内容:一元多项式求和。 把任意给定的两个一元多项式P(x) ,Q(x) 输入计算机,计算它们的和并输出计算结果。 实验内容: 1.问题描述: 一元多项式求和——把任意给定的两个一元多项式P(x) ,Q(x) 输入计算机,计算它们的和并输出计算结果。

2020-07-06

数据结构实验报告之约瑟夫环问题报告1.doc

约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。 实验要求:用顺序表实现。

2020-07-06

空空如也

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

TA关注的人

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