- 博客(108)
- 资源 (7)
- 收藏
- 关注
原创 spring-boot
Springboot一. springboot诞生的背景 出现spring、mybatis、springmvc框架能够帮助我们去解决在Servlet中大量重复代码的问题,但是他们又引入了新的问题,虽然能够帮我们简化重复代码的书写,但是要写很多的配置;springboot的出现就是为了解决这些框架大量配置的问题。二. springboot搭建第一步,创建一个 quickstart 工程第二步,引入依赖pom依赖<parent> <artifact
2021-12-24 10:36:42
319
原创 Spring-boot中过滤器与拦截器
1. 过滤器其实过滤器(Filter)跟Servlet很相似,都是java的一个组件。即请求发送到servlet之前,可以将其拦截和处理请求,也可以在serlvet结束工作之后,在响应发回之前处理响应,做一些事情。因此,可以理解为过滤器filter就是是拦截请求(request)和响应(response),并对传给请求资源的ServletRequest 或 ServletResponse 进行处理的一个对象。1.1. 过滤器的使用场景处理乱码问题;统计request和response的时间,有
2021-12-18 16:50:58
1178
原创 适配器模式
适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。参考: 菜鸟教程-适配器模式前提为了解决类中方法更新而使用不了之前方法的问题1. 类适配器模式代码展示:public interface Look { void GIFShow(); void PNGShow();}public class
2021-12-15 16:05:16
630
原创 简单工厂-工厂方法-抽象工厂设计模式的具体实现
工厂设计模式1. 简单工厂设计模式定义:定义了一个创建对象的类,由这个类来封装实例化对象的行为。缺点:类的创建依赖工厂类,如果想要拓展程序,必须对工厂类进行修改,这违背了开闭原则代码示例/** * 数据库接口 */public interface DataBase { //数据更新方法 void update(); //数据删除方法 void delete();}// MySQL数据库对数据库接口的实现public class MySQL
2021-12-14 15:31:22
497
原创 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
662
原创 单例模式的五种实现形式(懒汉式,饿汉式,双空判断,内部类,枚举)
单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
2021-12-08 16:05:16
189
原创 导入聚合项目时发现其子项目的pom.xml文件是灰色,被划掉了如何解决
解决方法进入idea --》file --》Settings见到如下页面将其子项目的勾去掉即可
2021-12-07 18:21:02
1250
原创 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
625
原创 部署前端工程到Nginx,点击浏览器刷新界面时出现404错误解决办法
解决办法try_files $uri $uri/ /index.html;这句配置的意思是每次匹配url路径时候找不到对应静态资源时候调制跳转到index.html文件
2021-12-04 17:32:32
2432
原创 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
2216
原创 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
2588
原创 SSM(Spring SpingMVC Mybatis)框架常用注解
1.Spring Boot的常用的注解@SpringBootApplication此注解是Sprnig Boot项目的核心注解,目的是开启自动配置@EnableConfigurationProperties和@ConfigurationProperties属性注入将属性配置注入到Spring 的Bean中,在很多中间件中都需要去定义一些属性的,方式总共有四种:第一种方式,@ConfigurationProperties 和 @Component 搭配使用,属性需要在 applicati
2021-11-28 12:23:14
801
原创 在分布式环境下标准支付流程的梳理
支付流程图的梳理https://www.processon.com/diagraming/61a18a895653bb136f893ecc提交订单当用户点击立即购买或者提交订单的这个时候数据库就会记录一笔订单此项业务主要是用到了rabbitMQ中的死信队列,大致流程就是,当用户提交订单的时候将消息存储到rabbitMQ当中,设置的订单超时时间是一个小时,当用户一个小时未支付rabbitMQ就会将次订单号自动发送到死信队列,然后监控订单状态的系统去对接此死信队列,判断此订单号是否支付
2021-11-27 10:25:24
2019
原创 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
1935
原创 微信支付(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
2333
3
原创 SSM框架中mybatis的基本使用
mybatis是一个非常轻量级的ORM框架,在3.0之前的版本叫做ibatis,在3.0之后便更名为mybatis.其下载地址为:https://github.com/mybatis/mybatis-3/releases
2021-10-30 12:01:07
521
原创 在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
682
原创 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
235
原创 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
1392
原创 项目回顾(卖淘乐【电子物品回收网站】)
运用框架: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
689
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
908
原创 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
1600
原创 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
121
原创 通过idea打开之前maven项目发现没有添加maven怎么办
打开maven项目前要先确定一下maven仓库位置是否正确然后检查project SDK是否为jdk1.8
2021-10-01 00:04:38
262
原创 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
215
原创 java经典面试题(多文件统计手机号码,通过对象封装,且需要多线程)
问题描述文件描述问题描述现存在三个文件来存储手机号码,通过处理将对象封装成以下形式通过描述可以看见上述号码有如下特点:号码很多不同,有部分重复号码通过对象封装有如下要求:电话号码、电话号码总数、电话号码指定文件出现次数文件读取使用字符包装类使用多线程,每扫描一个文件就创建一个线程,在线程的处理时一定要注意并发问题,还要考虑线程运行完毕时的情况。解题思路首先此题存在两大问题:如何读取文件内容,如何使用多线程处理问题一: 使用BufferedReader字符包装类,通
2021-09-29 17:53:49
473
原创 (代理模式)静态代理、JDK动态代理、CGLIB动态代理
静态代理设计模式基本概念通过代理类的对象,为原始类的对象(目标类的对象)添加辅助功能,更容易更换代理实现类、利于维护。静态代理优缺点代理类 = 实现原始类相同接口 + 添加辅助功能 + 调用原始类的业务方法。静态代理的问题代理类数量过多,不利于项目的管理。多个代理类的辅助功能代码冗余,修改时,维护性差。代码实例Business 业务接口package com.qianfeng.workone.example.dynamic;public
2021-09-28 20:58:14
142
原创 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
319
原创 java经典面试题(通过反射完成对象间的属性值的复制)
问题描述现存在一个person类,其中有age和name两个属性,创建一个测试类,在测试类中创建一个person类的对象,对象中两个属性都被赋值,现如何通过反射创建一个对象将你创建对象的属性值复制下来?基本思路在测试类中创建一个静态方法,作用是传入一个有属性值的对象,返回一个复制属性值后新的该类的对象在静态方法中获得该对象的字节码对象,通过该字节码对象调用get和set方法来进行属性的复制get和set方法的名称通过字符串的拼接组成代码展示Person类package com.q
2021-09-26 17:39:59
140
原创 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
1137
原创 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
214
原创 事务,jdbc,javaweb三层架构,servlet、JSON(firstjson)
事务事务的四大特性:ACID原子性:只的是同一个事务中的所有操作不可分割原子性是通过mysql中的一种日志undolog来实现的,在事务的操作过程中undolog日志记录了从事务的最开始位置到回滚的时候所做的所有操作,在接收回滚指令时mysql只需要读取日志的内容并且进行反向操作即可将数据恢复到事务开始时候的状态一致性:事务执行的前后,数据应该从一种一致状态切换到另一种一致状态1000+1000 1800+200 1000+1000一致性是事务控制的最终目的隔离性:一个事务在执行的过程中不应
2021-09-22 10:54:33
183
原创 第二阶段项目总结(通过layUI实现小区管理系统)
设计的总体思路1. 项目主体架构的搭建首先明确项目所要实现的功能,根据以前的经验找到以前的jar包并导入。三层的搭建,数据访问层 DAO层 数据处理层 Service 表示层 servlet层三层搭建完成之后就通过DButils 完成数据访问层的底层访问,完成数据库连接池的创建数据库的设计,首先要明确数据库之间的包含关系,比如一对一,一对多,多对多的关系,特别注意在数据库的存储数据和页面的展示不一定相同,比如一个班级中有很多学生,那么在班级的表格中就只需要学生的主键储存就行,就算班级在展现学生具
2021-09-18 12:04:09
317
原创 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
139
原创 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
121
原创 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
121
原创 SQL语句进阶练习(多表连接查询)-提供查询题目与解答
说明第一眼看到表的结构可能心中会觉得题目比较简单,但是当我深入做题目的时候发现这题目可能有些变态,几乎费了我一天的时间才把这些题目做出来(可能是因为我不怎么聪明的原因)在我所做的题解中有一部分不是最优解,还有很多高效的查询方式,比如最后一题的解答,我有三种方式解答,但是最后的一种才是最简单的行转列的方式。在这些题目中使用最多的就是join多表连接查询表的基础结构与数据student表数据(学生表)score表数据(成绩表)course表数据(课程表)teacher表数据(老师表)
2021-09-07 23:56:38
2739
1
原创 SQL语句基础练习(表的创建,基础查询)-提供建表语句和查询题目与解答
说明此基础练习的题目难度都比较简单,但是还有一些细节需要把握此题目的主要目的是熟悉SQL语句的基础查询,关于建表方面的语句了解即可,因为一般开发中所用的都是图形化建表,SQL语句建表所用较少。虽然这些题目比较简单,但是开始中大多数都是这些简单的查询,所以需要我们必须掌握。建表要求一、 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)-表(四)所示
2021-09-07 23:39:10
2515
原创 工厂设计模式(java版本,代码简易版本,功能完善,举例有代表性)-第一阶段-第二十四天
抽象工厂模式的主要角色。抽象工厂(Abstract Factory):提供了创建产品的接口,它包含多个创建产品的方法 newProduct(),可以创建多个不同等级的产品。具体工厂(Concrete Factory):主要是实现抽象工厂中的多个抽象方法,完成具体产品的创建。抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能,抽象工厂模式有多个抽象产品。具体产品(ConcreteProduct):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间是多对一的关系。
2021-09-06 23:46:20
111
多人聊天室java实现.rar
2021-09-04
数据结构实验报告之后缀表达式的转化3.doc
2020-07-06
数据结构实验报告之一元多项式求和(链表)报告2.doc
2020-07-06
数据结构实验报告之约瑟夫环问题报告1.doc
2020-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人