- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 SpringBoot自动装配原理及手写starter教学
想要了解自动装配的原理,我们需要依次了解一下问题:什么是自动装配?为什么要用自动装配,为了解决什么问题?SpringBoot中如何实现我们的自动装配?每次装配是全部加载还是按需加载?如果让我们自己手写starer怎么实现?(考察自动装配的掌握程度)自动装配自动装配:在springboot帮助下,通过简单的配置注解即可使用相应的功能点这么解释显得单一,还体会不到这个概念和用自动装配的好处,简单穿插下关于spring,springboot,springboot的概念,对比才能显示出它本身的优
2022-04-02 16:21:56 1286
原创 SpringBoot中的WebSocket的理解及使用
SpringBoot中的WebSocket的理解及使用使用场景因为业务需要一个类似客服的功能,这就要求双方能够主动的互相发送信息和接受消息,常用的http请求则在实时性和服务端主动推送这块没法做到实时性,所以综合考虑采用websocket,它是一种全双工的网络技术(具体百度好了,主要以websocket内容使用为主,不干扰大家的重点),能让我们在浏览器和服务端之间通过一次握手形成一条快速通道,直接进行数据的传输前端+后端 一个demo案例感受下具体的socket运作流程SpringBoot使用依
2022-03-27 16:02:12 4007
原创 SpingBoot项目代码和依赖分离部署
SpingBoot项目代码和依赖分离部署项目开发中,部署项目必不可少的一步,项目依赖包通常都会很大,多则上百M,从打包,上传,部署虽说不至于送走开发人员,但是体验感极差,dddd,而且如果遇到改动很少的地方又不得不改好马上上传,就有种吃力不讨好的低效感。在国外服务器部署项目更是惨不忍睹(本人亲测)所以根据我自己实际的情况优化了下上传的方式,顿时感觉腰不酸了,腿不痛了,连心跳也没有了ps:war包当然会好点,我自己觉得不好用,都是得找到替换的,不如直接打包项目代码,速度更快,不用管修改了哪些,萝卜青菜各
2022-03-18 18:28:34 507
原创 邮箱发送-163、QQ、Gmail-排名不分先后
邮箱发送-163、QQ、Gmail-排名不分先后背景利用三方发送邮件,归根结底还是业务需要,这里有一个需要发送验证码信息的需求,因为当地原因,使用邮件较多,所以考虑了邮件进行信息的发送(从此开始了踩坑之路)开启 IMAP, POP3,SMTP协议这个每个邮箱不一样,基本找设置去开启,会有一个授权码(一定记得备份!!),需要在下面的代码中去填写,帮助你登录发送信息,可以理解为安全的身份认证的一种依赖导入 <dependency> <groupId>
2022-03-07 18:44:39 479
原创 Linux服务器上使用脚本启动Jar包
Linux服务器上使用脚本启动Jar包积累下日常的使用脚本,因为发现每次需要的时候要么找到付费的,要么找到有各种小问题的,用了这么久才想起来作为文章来发布兼收藏(还是因为服务器出了问题,找不到之前的脚本,没法拿来直接用,太浪费时间了,所以干脆直接放在自己的文章下,利人利己)1 编写脚本文件start.sh这里的start.sh脚本文件应该和jar包放在同一文件夹下,方便管理,分开放容易出问题,建议放一起#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=ast
2022-02-24 10:11:52 1077
原创 集成App消息推送
集成App消息推送(没有另外的价钱,免费良心)unipush推送,可以实现在线和离线的推送,送达率也相当的客观。需要注意的是Android的离线推送需要集成各厂商,基本就是注册各平台的开发账号集成应用即可(华为,小米,魅族等),具体操作有具体社区的文档讲解,地址:https://ask.dcloud.net.cn/article/35622推送通知和透传消息的选择个人在开发中使用的是透传消息的模板,因为看文档理解,在线的情况走个推通道都是可以推送到设备的,没有特殊情况不需要考虑,在离线的情况下,推送
2021-08-02 15:42:44 571
原创 Redis和数据库双写一致性之大战三百回合
Redis和数据库双写一致性之大战三百回合------------------------------------------- Start -------------------------------------------------保证双写一致性的过程中,分为读取缓存和更新两步,读取缓存的步骤基本没有什么问题存在,更新步骤则存在较大差异缓存读取: 1.读取缓存中的内容 2.未读取到缓存,读取数据库记录 3.读取到数据库的记录返回,同时将数据记录更新到redis缓
2021-06-01 09:10:34 142
原创 定时任务之实现方式
定时任务之实现方式定时任务:字面意思,任务可控,具体的时间由我们来设定,让任务在我们制定的时间按照制定的时间间隔频率来执行Timer和TimerTaskpublic void task() { Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { } },
2021-06-01 09:09:56 187 1
原创 Spring缓存注解的使用@Cacheable、@CacheEvict、@CachePut
Spring缓存注解的使用@Cacheable、@CachePut、@CacheEvict、Spring Cache缓存注解,起到数据缓存的作用,在缓存的基本使用中简化了步骤,在调用方法的时候,将参数和返回结果作为键值对存放在缓存中,下次再次请求的时候,如果缓存中存在就直接获取结果,不用再次请求数据库,增大数据库的压力。(刚接触感觉跟redis没啥区别,使用中也确实没感觉出来啥区别)使用范围:controller,service,dao中的方法上面都可以添加注解(其他类上我没试过),也确实生效了,如果失
2021-06-01 09:09:33 598 1
原创 后端跨域问题一条龙
工作中的跨域请求在实际开发中其实跨域问题是一个过不去的坎,之前因为没有遇到过,所以没有得到重视,后来因为项目的工作上线等工作需要自己来处理就决定要在跨域这个坑上疯狂踩,直到解决现阶段的问题。实际开发中的跨域浏览器只允许请求当前域的资源,对其他域的资源不信任,因此出现了跨域问题;现在的开发模式是大多数是前后端分离的开发模式,清晰分离,这样工作内容独立分开;开发过程中前端去调用后端写好的接口的时候就涉及到跨域问题(因为两个人开发肯定不可能在同一台电脑上,起码就违反了域名不一致这一条),但是一般前端为了
2021-01-18 14:03:51 198
原创 数据库索引的初步了解和使用
数据库中的索引类型和方法前言二、索引的方法(BTREE 、 HASH)总结提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言二、索引的方法(BTREE 、 HASH)总结前言在使用数据库中的过程中,因为数据量的增加导致程序在访问数据库的速度要求高,准确快速定位展示数据就是最终的目标,个人认为能实现快速和准确就是最重要的,毕竟实现这两个要求在业务场景复杂的情况下也是不容易的…# 一、索引的类型?在我们给数据库的表进行操作时,可以根据实际情况给相应的字段添加索引,应用
2021-01-14 13:39:36 204
原创 Linux中redis的配置、自启动和连接失败的思路
Linux中redis的配置、自启动和连接失败的思路找到相应的redis安装包,在/usr/local目录下解压即可(想放别的自己定),把一些需要的程序放入新建的文件夹,统一路径。开始修改redis.conf配置文件daemonize yes :开启守护进程,保证程序后台能运行protected-mode no :关闭redis的保护模式bind 0.0.0.0 :绑定ip地址,无限制则0.0.0.0requirepass xxxxxx :配置访问redis的密码,默认是不需要密码的
2021-01-06 18:39:49 330
原创 addResourceHandlers之底层原理惨案
addResourceHandlers之底层原理惨案事情的发生还要从一次请求项目中的资源下载失败说起,讲需要下载的资料放在/resorces/static文件夹下项目正常启动,访问地址正常:localhost:8989/project/Timi.apk这里的project是自己在配置文件中加的,server.servlet.context-path=/project以为一切顺畅,万万没想到实际情况就很突然受害人:是的,就很突然,我也不知道怎么回事,突然就这样了。不会万能百度!找到解决办法:@
2021-01-06 15:38:36 1554
原创 图片的批量压缩
图片的批量压缩之本人看不太出图片区别系列因实际项目需要,保证上传图片不会过大影响到用户体验,故找多方资料,做了一个针对文件夹中的多张图片批量压缩的小小工具类,实现效果是替换掉原来的图片,生成一摸一样但是大小不同的代码。来人!上代码,自己动import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;import org.junit.Test;import org.junit.r
2021-01-05 23:06:24 151
原创 YApi的使用,导入使用
YApi的使用,导入使用废话不多说,列举我目前的两种使用方式,如果有更便捷的请务必第一个告诉我!1.json文件导入引入依赖<!-- 引入swagger2包 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version
2020-12-10 17:18:05 2869 3
原创 拦截器(Inteceptor)和过滤器(Filter)的使用
拦截器(Inteceptor)和过滤器(Filter)的使用主要讲解下关于两者的使用,具体原理网上有很多讲解的,在这就不说废话了,主要展示注解实现1.Interceptor拦截器实现/** * @Author: *** * @Date: *** * @Description:在请求体中加入流水号参数(加入流水号跟踪日志) */@Configurationpublic class SerialInterceptor implements HandlerInterceptor { /**
2020-12-10 15:53:21 432
原创 MyBatis中的参数失效情况
MyBatis中的参数失效情况在写代码的过程中,需要在xml文件中写sql语句进行数据查询,但是测试的过程中发现deleteStatus和type参数为0的时候,相应的sql语句并没有成功拼接select a.id, a.type, a.style_name, a.item_code, a.title, a.sale, a.technology, a.year, a.delete_status, a.publish_status, a.new_status, a.recommend_st
2020-12-10 15:25:25 1296
原创 redis使用过程中的乱码
项目中使用redisTemplate在存值出现\xAC\xED\,实测有效Lettuce是一个高性能基于Java编写的Redis驱动框架,使用lettuce操作redis更加安全,多线程共享实例,比jedis更好。使用流程添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start
2020-12-09 13:53:46 655
原创 构造函数、构造代码块和静态代码块的执行顺序
面试题之要命的构造函数、构造代码块和静态代码块的执行顺序真正遇到题目的时候和平时看的知识点结合的不是很顺利,什么类的加载过程啊,对象的创建过程等等完全想不起来,没法结合具体题目思考,所以还是靠题目实战。上代码!!!public class A { String name = "jack"; public A() { System.out.println("a无惨构造"); } public A(String name) { thi
2020-07-07 15:08:34 215
原创 关于多条件检索和数据导出word表格及合并
1.项目搭建1.1 框架生成采用的是renren-fast的后台脚手架框架,是人人开源社区采用Spring、MyBatis、Shiro编写的;1.1.1 建立数据库表 搭建完成后,先需要建立好数据库的所有数据表,以便代码生成器生成1.1.2 代码生成器 随后利用代码生成器生成相应实体的controller,service,dao,entity实体以及mapper中的xml映射文件。1.1.3 业务层修改 基本的增删改查具有了,接下来就根据实际的业务需求修改代码(主要针对业务逻辑层)2
2020-06-10 08:54:22 485
原创 对开发初步认识和体验
关于实际开发过程的流程(自己实践感受的)这篇不算是什么技术心得分享了,就是自己的一些感受吧,当是日记一样记录一下1.准备工作当开启一个新的项目之前,准备工作还是需要很充分的,项目初期的工作可以说是整个工作的奠定基础。这就我们经常说的想要盖房子,起初的规划和地基的建设是至关重要的,不然火急火燎的把房子改好,风一吹房子就到了那完全是费财费力,吃力不讨好的事咱可不干!术业有专攻,这个作为一名小白实习生,咱也不敢多加评论哈虽然没接触过前期工作,但是有句话说的好,没吃过那啥,还没见过那啥跑吗,真的是(哈哈哈)
2020-05-25 10:17:05 233
原创 javax.servlet.ServletException: Servlet.init() for servlet [dispatcherServlet] threw exception
分层工程中的错误点1.javax.servlet.ServletException: Servlet.init() for servlet [dispatcherServlet] threw exception解决:2.异常二解决:3.关于事务管理器(transactionManager)导致的异常注意:当事务管理器的方法中使用注释的方式时,则id的名字是不能随意取的,只能是t...
2019-12-26 21:58:24 9233
原创 异步请求案例中的易错点、调试案例的步骤和思路
一、异步请求案例中的易错点、调试案例的步骤和思路1.调试的基本思路缩小错误可能出现的范围,问题是在前端接收处理数据异常还是后台服务器处理数据错误如果是前端没有数据响应,用F12查看前端的源码,观察请求发送后Network中能否成功发送路径 (请求参数是否发送成功)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DjaulGv-157494794321...
2019-11-28 21:32:44 175
原创 一、过滤器之评论内容用替换非法字符(脏话),注意事项
一、过滤器之评论内容用*替换非法字符(脏话),注意事项1.思路需要能在发送请求前对浏览器发送的内容进行过滤,判断里面的内容是否包含非法字符,并且把非法字符替换为*输出2.起初思路加入过滤器,通过getParameter方法获取到评论内容在过滤器的init阶段进行非法文件的读取(主要避免重复读取)读取文件内容存放在list集合中在doFilter方法中遍历list集合,...
2019-11-24 23:13:02 832
原创 字符集之乱码原理图解说明
字符集详解乱码本质:乱码问题的本质实际上都是字符集冲突造成的原因,那么了解字符集就是必须的工作之一字符集:是一套字符和字节相互转换需要遵循的一套转换协议,类似于密码的加密解密,需要一套自己的密码模板,否则同样的密文用不同的密码模板解读的话,就是不同的意思(个人理解)乱码问题图解:...
2019-11-15 22:49:45 400
原创 关于浏览器和服务器之间的请求响应的流程梳理
一.分析需求(泪目-整理不易,友情素质三连)1.一般需要梳理好整个流程,这是必须的流程,虽然看起来无关紧要,但真正体验过上手就敲代码和先写思路再编程的人肯定是觉得思路的重要性,也是因为自己深刻体会到这一点,就在这里分享下自己的体会。- 前后端的任务分离:自己编程时,总是想到哪里就写到哪里,没有固定的思路,显得很乱,文件切换来切换去,有时候自己都不知道在看哪里。这是非常令人头疼的。举例说明:...
2019-11-14 16:53:58 732
原创 Ajax知识点之异步操作来校验用户名
关于异步操作校验用户名的易错点问题一:填入存在的用户名,仍然提示成功解决:因为查询语句写错了,把username写成name,导致查询不准确,命名需要尽量规范统一问题二:不提示任何信息解决:是因为在dao类中进行sql语句的查询时,没有进行try…catch操作捕获异常,存在漏洞1.创建bean类package com.itheima.bean;import java.io.S...
2019-11-13 23:38:15 118
原创 非法字符判断出现异常及解决方案
主要针对文章内含有非法字符进行过滤出现了如下问题最终发现了问题所在:显示500错误:是没有进行对用户输入文本的内容是否为空的判断正常运行,没有报程序错误,但是浏览器界面一片空白:是因为没有加上chain.doFilter(request,response)进行过滤后的放行操作,因此针对请求,服务器会过滤掉所有的请求导致页面无法接收到任何响应。...
2019-11-09 23:26:20 2039
原创 接口和抽象类
接口和抽象类的区别ps:看到一个题目对比这两者的区别,自己写了一下,发现还是遗漏了很多重要的性质,所以写下这篇文章来总结一下,暂时就这么多,欢迎大神指导和完善:1:接口篇接口是一种引用类型在(不是类),主要用来封装方法的集合,包含抽象,默认,静态,私有方法接口不能创建对象,它只能被实现(implements),实现它的类叫接口的实现类/接口的子类实现接口的类必须实现接口里的*...
2019-11-08 10:10:24 78
原创 简单的用户登录(name,password,验证码)
用户登录信息的验证(三层架构思想)关于用户登录时信息的检验,整个过程:用户输入信息(用户名,密码,验证码)浏览器将用户信息带给服务器服务器接受到请求后进行处理,从数据库中进行查找,返回结果对比结果后,向浏览器进行响应(登录成功或者失败)注意点:进行三层架构,主要分为三个部分用来处理请求的Servlet业务层,执行Servlet中的具体操作持久层,用来被业务层调用,查找数据...
2019-11-05 22:11:24 3442
原创 转发和重定向的区别(面试)
javaweb中转发和重定向的区别(一个程序菜鸟的笔记)转发属于一次请求,重定向则是二次请求转发的地址栏不会改变,重定向的地址栏改变转发写跳转路径时不需要写工程名,重定向则需要加上项目工程名(eg:request.getContextPath + “/demo”)转发路径只能写项目内部资源的地址(eg:www.baidu.com不允许!),而重定向内外资源不限制request域存取的值...
2019-11-04 09:53:04 758 1
原创 关于前端知识的小总结
HTML,CSS,JS的介绍主要总结了前端的一些必备的技术使用方法,加上一些个人的案例来结合,bootstrap框架的使用也是较为重要的,主要多结合案例进行实战操作上手更快。1.HTMLHTML:是一种超文本标记语言,主要理解并大致会使用部分,如表单,表格,超链接等,简单的案例:<!DOCTYPE html><html lang="en"><head>...
2019-10-07 18:34:24 138
原创 【final、权限、内部类】
【final、权限、内部类、引用类型】!!主要学会使用,理解重要一. 自增运算符配合使用(适用于绝大部分情况)++在前: 先自增, 后运算++在后: 先运算, 后自增正确的理解方式无论++在哪都先自增++在前, 参与运算的是++之后的值++在后, 参与运算的是++之前的值二. final关键字final: 最终final可以用来修饰: 类, 方法, ...
2019-09-20 23:22:43 80
原创 【接口、多态】
【接口、多态】一. 接口1. 接口的创建和实现格式(1) 如何创建接口public interface 接口名 {}(2) 如何实现接口public class 类 implements 接口名 { }接口的多实现public class 类 implements 接口1, 接口2, 接口3 { }2. 接口中成员的定义格式(特点)(1) 抽象方法// p...
2019-09-20 23:20:40 71
原创 【继承、super、this、抽象类】
【继承、super、this、抽象类】一. 继承(重点)1. 继承的格式和特点格式public class Fu { }// ============================================public class Zi extends Fu{ }// Zi继承了Fu, Zi是子类, Fu是父类特点子类可以使用父类所有非私有的属...
2019-09-20 23:19:02 69
原创 day08【String类、static关键字、Arrays类、
**String类、static关键字、Arrays类、Math类的具体使用**一. String类(重点)1. String的特点特点任何的字符串常量(“abc”), 就是字符串的对象, 是对象就能够调用String类中的方法.字符串是不可变的字符序列2. String类的构造方法(1) 两个没用的构造方法String(): 创建了一个String对象, 表示的是空字符串...
2019-09-16 23:31:45 90
原创 day07【Scanner类、Random类、ArrayList类】
day07【Scanner类、Random类、ArrayList类】基础类的掌握,还是需要多敲代码,好记性不如多敲几遍形成肌肉记忆1. Scanner类2. Random类3. ArrayList类(list集合的常用类,需要多练习)alt + insert一. API代码的说明书1. API中的包Java中有很多的包, 包中有存放了很多的类lang包中的内容可以直接使...
2019-09-10 10:58:54 153
原创 【类与对象、封装、构造方法】
【类与对象、封装、构造方法】一. 面向对象思想概述1. 面向过程和面向对象面向过程: 强调过程(强调做一件事其中的每一个步骤)面向对象: 做一件事, 不自己做, 而是利用对象来完成举例面向过程: 拿盆子 >> 放衣服 >> 放洗衣粉 >> 倒水 >> 泡 >> 搓 >> 漂洗 >> ...
2019-08-28 16:49:43 104
原创 多表的多种连接查询和事务ACID
1.多表之间的多种连接查询文章目录1.多表之间的多种连接查询1.交叉查询2.外连接2.1 左外连接2.2 右外连接3.内连接(重点)3.1 隐式内连接3.2 显式内连接3.3 举个栗子。。。2.子查询(重点)2.1 解析2.2 子查询进阶3.事务3.1 事务的解释:3.2 事务作用:3.3 MYSQL事务管理3.3.1什么是回滚点3.3.2 回滚点的操作语句3.3.3具体操作3.3.4应用场...
2019-08-27 16:36:13 740
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人