- 博客(39)
- 收藏
- 关注
原创 spring使用webSocket
webSocket什么是webSocket获取通知轮询,webSocket等方式比较后端代码实现1,添加依赖2,添加配置类核心配置: WebSocketServercontroller测试主动发信息前端界面tips为什么webSocketServer里的service要静态初始化并且再set方法注入发送通知给所有人什么是webSocketWebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信,学过计算机网络都知道,既然是全双工,就说明了服务器可以主动发送信息给客户端 。
2022-04-02 09:20:10
2020
1
原创 spring使用shardingSphere
开始水平分表引入依赖建表并生成实体类配置文件垂直分表水平分表引入依赖 <!--分库分表使用--> <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <ver
2022-03-29 10:24:22
2301
原创 微信公众号开发
公众号开发相关知识点介绍给用户发送模板信息流程关于两个access_token关于openID关于 UnionID关于发送消息和加密被动回复消息群发消息,客服消息,模板消息关于解决access_token存储和使用的问题相关知识点介绍给用户发送模板信息流程由自己服务器将信息推送到微信服务器,微信服务器再推送给用户关于两个access_token相同点:有效时间都是两小时。不同点:基础access_token(通过appID secret获得) 发送模板信息用等调用基础接口使用网页授权acc
2021-11-10 14:40:34
673
原创 springcloud小结
关于Hystrix服务熔断:服务降级:如何使用?关于Hystrix服务熔断:概念:服务消费链上,下游服务因访问压力过大而出现响应变慢或失败不可用,上游服务为了保护系统整体的可用性(避免无效重试及长时等待等情况),可以暂时切断对下游服务的调用,直接快速返回fallback的默认值熔断关闭状态(Closed):服务没有故障时,熔断器所处的状态,对调用方的调用不做任何限制。熔断开启状态(Open):在固定时间窗口内(Hystrix默认是10秒),接口调用出错比率达到一个阈值(Hystrix默认为50%.
2021-08-23 16:36:47
222
原创 Git操作
合并代码dev到master当前在dev分支1,commit自己修改2,pull origin master3,解决冲突4,commit 该commit会覆盖上次本地的commit文件5,git push切换master分支1,拉取远程master最新代码2,git merge dev3,解决冲突(应该是没有了,因为之前是已经解决了)4,git push撤回修改参考链接https://www.cnblogs.com/codingdevops/articles/14470889.h
2021-08-20 11:26:06
114
原创 Shiro+JWT
Shiro+JWT继承BasicHttpAuthenticationFilter实现自定义JWTFilter继承AuthorizingRealm实现自己的Realm实现AuthenticationToken接口,实现自定义的token配置类配置,将类进行绑定很重要的思想关于两大认证鉴权框架,springsecurity,确实shiro用了一周的时间差不多了解了,学习过程中可谓晕头转向的,后面在谛听上看到shiro文章很好,又得到行内大佬指点一下(执行流程),算是弄懂了shiro,然后也对springsec
2021-08-13 16:44:40
1081
原创 MybatisPlus相关操作
MybatisPlus相关操作分页插件利用构造器查询操作对查询后的list分组分页插件1.配置类添加插件@Configurationpublic class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
2021-07-26 14:07:29
1374
原创 Spring-security
Spring-security前台界面关键逻辑代码successForwardUrl("/toIndex")successHandlerantMatchers("/vip").hasAnyAuthority("vip")自定义权限不足响应自定义登录失败Handler"记住我"代码实现退出功能实现就是防止用户未登录访问其他资源前台界面1.要求以post方式请求,通过name获取输入值,默认名已设置(可以在配置类修改)关键逻辑代码@Configurationpublic class Securi
2021-07-03 17:40:52
168
原创 AOP的两种实现方式
Title通过注解方式实现代理1,自定义一个注解execution方式通过注解方式实现代理1,自定义一个注解2.execution方式@Aspect@Componentpublic class WebLogAcpect { @Autowired private RizhiService rizhiService;// 添加日志用 @Autowired private MapCache cache; // 定义切点一:访问所有接口增加日志记录
2021-01-28 10:34:09
669
2
原创 Java
Titlehashclass和Class的区别 2020.11.6hash首先我们知道Java的所有类的基类是Object,而hashcode是Object类的方法,所以Java类都具有hashcode方法首先给出我的结论:Java通过hashcode方法获取的并不是地址而是通过地址转换的Integer类型整数值接下来通过Object源码来看(为什么贴上面getClass()方法介绍,个人觉得上面的介绍更加明白,hashcode大多介绍==和equals)上面英语翻译大概就是:Objec
2021-01-27 11:07:25
147
原创 springboot随笔
随便关于接收参数读取配置文件的值@Transitional注解关于继承打印类时,不会打印父类的值jar包启动时指定启动端口号关于接收参数使用post请求传递参数,如果传进来的值没有必要新定义一个对象,可以用HashMap来接收如果仅仅是多出一个flag,那前端可以放到header里面,利用request来获取读取配置文件的值@Transitional注解只有外部调用的时候才会生效关于继承打印类时,不会打印父类的值@ToString(callSuper = true) 可以使tostrin
2021-01-26 14:21:15
334
原创 数据库相关
个人总结数据库概念char乐观锁,悲观锁索引variables数据库操作自增字段没有连续自增修改密码查询时多级排序使用 profiling使用 explain数据库优化索引失效尽量使用自增id查询优化数据库概念char字段类型char(11) 表示输入任何长度字符,都会占用11字符的大小,一般用于固定字符长度的字段,提高时间效率;(varchar提高空间效率)乐观锁,悲观锁乐观锁:利用版本号机制或者CAS算法实现(适合读多,写少)悲观锁:悲观认为不安全,利用数据库的锁机制(适合写少读多)
2021-01-22 10:41:14
238
原创 java 8
Person p = new Person(); List<Person> list1 = new ArrayList<>(); list1.add(new Person().setName("a").setId(1)); list1.add(new Person().setName("b").setId(2)); list1.add(new Person().setName("b").setId(1)); .
2021-01-20 22:08:17
312
3
原创 关于MybatisPlus和Mybatis
这里写目录标题和Mybatis的联系记一次我查询自动配置的过程发现配置类没有加载到spring环境中通过打印相关bean,找到了办法看到默认为true和Mybatis的联系Mybatis-Plus是一个Mybatis的增强工具,它在Mybatis的基础上做了增强,却不做改变。我们在使用Mybatis-Plus之后还够正常使用Mybatis的原生功能。MP还提供了一些很有意思的插件,比如SQL性能监控、乐观锁、逻辑删除,执行分析等。使用Mybatis,每当要写一个业务逻辑的时候都要在DAO层写一个方法,
2021-01-19 14:46:21
620
原创 Springboot使用rabbitmq
这里写目录标题配置文件配置开启rabbitmq创建队列配置文件1.打开Rabbitmq的配置类,发现默认配置为本地,所以若你是没有改变,不用配置文件中配置配置开启rabbitmq创建队列1.可以选择配置页面**http://localhost:15672/#/**配置交换器,路由规则,消息队列2.我这里代码配置了测试类中 @Autowired AmqpAdmin amqpAdmin; @Test public void bind() { amq
2021-01-17 17:28:32
277
1
原创 docker使用nginx
初步使用反向代理反向代理1.启动容器docker run -d -p 10001:80 --name nginx01 -v -/nginx/conf/nginx.conf:/et/nginx/nginx.conf --privileged=true nginx;/nginx/conf/nginx.conf 从nginx容器内复制过来的,挂载形式,便于修改配置文件,供其他容器使用反向代理注意!!!server下location匹配原则上图举例 ,比如你访问url是192.168.129.24
2021-01-16 22:35:33
337
原创 docker使用
docker随笔安装dockerDocker 命令安装Mysqldocker安装redisdocker安装rabbitmq安装dockerdocker最低要求centOS7 内核3.10以上uname -r 查看内核版本yum install docker 安装dockerDocker 命令systemctl start docker 启动dockersystemctl enable docker 设置开机自启dockersystemctl stop docker 停止dockers
2021-01-11 22:11:49
420
原创 Linux命令
命令网络相关文件操作普通命令网络相关service network restart 设置好网络以后使用命令重启虚拟机的网络ip addr查看网络信息 ifconfig 查看网卡信息itables和firewall区别firewall是centos7里面的新的防火墙命令,它底层还是使用 iptables 对内核命令动态通信包过滤的,简单理解就是firewall是centos7下管理iptables的新命令1.关闭防火墙systemctl stop firewalld.service
2021-01-09 19:30:43
280
原创 Linux部署一个Java项目流程
Linux1.虚拟机选择桥接模式2.配置防火墙1.虚拟机选择桥接模式桥接:相当于一个新的电脑,Nat通过宿主机上网正常情况,虚拟机仅去右上角又网络连接,若是没有,打开设置,开启网络即可,还可以在设置里自定义ip,网关这些2.配置防火墙在未配置情况下,防火墙打开状态,局域网内是不能访问到部署的web项目的1,直接关闭防火墙一般网上是说直接关闭防火墙,这样也是可以的service firewalld status 查看防火墙状态service firewalld stop关闭防火墙
2021-01-09 19:01:04
279
原创 Springboot使用@NotBlank,@Valid进行参数验证
引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>2.4.1</version> </dependency>Spr
2020-12-24 22:15:00
3741
原创 利用redis当springboot缓存中间件小试一下
引入redis依赖,配置文件配置redis我们看到redis的配置类有默认值,即,若是本地测试,仅需要配置spring缓存类型为redis即可启动类开启缓存配置存储到redis的序列化规则为JSON添加到spring环境中public class CacheConfig { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
2020-12-21 15:21:45
163
原创 Springboot实现定时任务
Springboot实现定时任务三要素1,开启定时器2,将自定义定时器配置类添加到spring容器中3,在任务(方法)上添加@Scheduled注解拓展 cron表达式cron = " 0/5 * * * * ?"代表任何时间每间隔5秒钟执行一次排列代表: 秒 分 时 日 月 周 年*代表所有/代表间隔时间?代表不关心还有-代表区间 ,用于指定多个值 还有其他不在赘述...
2020-12-17 11:24:01
133
原创 关于Springboot的静态文件配置
spring.web.resources.static-locations就是配置可以通过url可以直接访问的文件路径默认所以如果其他地方没有存放配置文件,网上如上路径的配置完全多此一举。需要访问本地其他路径的文件那么就需要将js等其他静态路径也要添加进来,因为一旦配置了这个属性,就会覆盖调默认路径,所以前面classpath:/static/(任何项目用到的静态路径)也要加上。然后我们就可以直接通过url访问了...
2020-12-14 14:29:26
370
原创 记一次最好用生成mybatis代码xml的插件
Free Mybatis pluginIdea market直接搜索安装就可以了第一步,先配置idea的数据库找到要生成实体类,xml,mapper的表根据个人实际进行更改然后直接ok运行就可以啦
2020-12-11 13:53:35
482
2
原创 Springboot+Aop实现操作日志
描述一下我借鉴海涛大佬的思想1.先写一个类,定义一个全局变量HashMap,然后为key-value提供get,set方法2.写一个类实现CommandLineRunner接口(伴随Springboot启动时初始化资源),将接口名和接口描述来存放到之前定义的类中。3.写一个切面类,用来匹配所有请求方法,将用户,操作(方法的描述),时间写入到数据库中。PS: requestMappingHandlerMapping 对象可以获取所有处理器方法然后通过每个方法的注解内容来获取接口描述这个注解你可以自
2020-12-06 20:33:07
549
原创 springboot+Swagger2的简单使用
Swagger个人理解利于接口测试,团队开发,没有对项目也没有任何影响第一步,pom引入swagger依赖Swagger配置Controller添加注解界面访问默认localhost:8080/swagger-ui.html若配置了server.servlet.context-path则url加上即可...
2020-12-06 14:17:04
162
原创 记录几个IDEA日常使用技巧
Lombok插件通过安装该插件后,在pom文件配置可以在实体类中使用@Data注解在实体类上,自动生成字段的getset方法,hashcode,equals,toString方法 还可以使用@Slf4j 注解直接在方法中使用log对象来输出日志@Synchronized作用于类方法或实例方法上,效果与synchronized相同Free Mybatis 插件安装此插件,Mapper接口会多一个箭头,可以直接到接口对应的xml语句处,很是好用提供几个IDEA快捷键ctrl+shif
2020-12-05 21:04:24
273
原创 记一次Springboot aop的简单实现
第一在springboot pom文件引入aop依赖第二@Aspect 标记为切面类@Component 加载到spring 环境中
2020-12-05 20:11:13
102
原创 自定义实现WebService服务
什么是webservice?简单的说:WebService即Web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术。所谓跨编程语言和跨操作平台,就是说服务端程序采用Java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。(百度)服务端前言:实现通过代码可以实时获取华强北的各大手机硬件价格那么华强北即开始开发服务端开发服务接口开发实现类发布服务到这里服务端就开发完成了,实际一个类也可以直接完成,但是为了代码
2020-11-23 16:16:56
368
原创 Java,Log4j,Slf4j日志级别
Java自带severe warn info config 、fine、finer、finestlog4joff fatal error warn info debug trace allslf4jerror warn info debug trace
2020-11-09 15:28:39
281
原创 Tomcat9正常启动但是不能访问页面
首先说明一下我的是tomcat9正常启动,没有端口占用等其他问题,在qq浏览器上就是打不开,我就百度了整整一天,然后第二天上午想着试一下谷歌浏览器,结果就出来了。。。。服了
2020-11-04 09:41:43
1388
1
原创 为什么重写tostring()方法后就能直接输出类的属性值
首先看结果然后ctrl + 鼠标左键看print源码继续查看valueof源码原来输出的时候就是调用的对象的tostring方法如果没有重写tostring那就是类名+16进制的hashcode值
2020-11-03 15:16:08
780
原创 Maven不能从阿里云仓库下载插件
IDEA配置阿里云maven仓库,提示Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to aliyunmaven首先说明我的问题来源:由于个人电脑不能够连接外网,所以就使用了代理来上网,但是使用maven时却出现了如标题的问题,猜测是网络的问题,于是在idea默认路径plugins\maven\lib\maven3\conf的settings.xml配置了maven代理就解决了问题,
2020-11-01 08:34:41
1194
原创 java一个类调用另一个类
java一个类调用另一个类比如两个类,A,B,A中有方法c,d(c是静态的,d是普通方法)那么方式为,1 A.c2 A a=new A();a.d();
2020-03-15 17:14:21
1879
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人