- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 Spring搭建swagger
如果是使用springfox-swagger-ui,启动项目后的api文档访问路径是 /swagger-ui.html。是springfox-swagger的增强UI实现,我个人更推荐使用这个ui,api文档结构更加清晰,在线调试也很方便。Swagger的分组接口是通过后端配置不同的扫描包,将后端的接口,按配置的扫描包基础属性响应给前端。在swagger-ui中也可以通过分组来查看api文档。后端java的配置如下,指定分组名和各自要扫描的包。访问的url为 /doc.html。
2023-10-26 17:49:37
83
原创 1-nginx重新编译添加ssl模块--with-http_ssl_module
首先执行下面代码./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_modulemake千万别make install,否则就覆盖安装了make完之后在objs目录下就多了个nginx,这个就是新版本的程序了备份旧的nginx程序cp /usr/local/nginx/s
2022-02-22 21:02:37
733
原创 MongoDB查看是否分片
三种查看方式Config 库中查询db.collections.find( { [ {'dropped': {$ne:true}}, // 没有被删除的 {'name' '/dbname/'} // 根据数据库名进行模糊查询 ] })查看数据分布use dbnamedb.colname.getShardDistribution() # 可以查看数据分布最简答的方法u.
2021-11-15 18:31:16
3728
原创 kafka配置文件server.properties
broker.id=0host.name=192.168.2.232port=9092num.network.threads=3num.io.threads=8log.dirs=/opt/kafka/logssocket.send.buffer.bytes=102400socket.receive.buffer.bytes=102400socket.request.max.bytes=104857600num.partitions=64log.retention.hours=72.
2021-09-10 14:27:54
1867
原创 linux下安装kafka
1.将kafka安装包移入/opt/目录下并解压(其他目录也行)2.启动zookeeper启动zk有两种方式,第一种是使用kafka自己带的一个zk。bin/zookeeper-server-start.sh config/zookeeper.properties 另一种是使用其它的zookeeper,可以位于本机也可以位于其它地址。这种情况需要修改config下面的sercer.properties里面的zookeeper地址 。例如zookeeper.connect=19..
2021-09-06 11:09:58
350
原创 linux下安装zookeeper
1.首先将安装包放入linux /opt/目录下2.解压3.编辑配置文件 将conf 目录下的 zoo_sample.cfg复制为zoo.cfg进入zoo.cfg进行编辑修改以下内容:dataDir=/tmp/zookeeper/datadataLogDir=/tmp/zookeeper/log注意:如果想配置集群的话,请在clientPort下面添加服务器的ip。如server.1=192.168.180.132:2888:3888server....
2021-09-04 17:18:53
1118
原创 linux下安装tomcat
1.再linux下传入tomcat并移动到/opt/目录下2.进入到tomcat的bin目录下运行startup.sh启动tomcat现在linux的本地浏览是可以访问到tomcat的3.开放端口8080 这样外网才能访问到tomcat1)查看防火墙状态2)重启防火墙可以看到 防火墙已经重启3)开放8080端口firewall-cmd --zone=public --add-port=8080/tcp --permanent--...
2021-09-03 11:39:37
60
原创 linux下安装jdk
1.首先再linux下传入jdk 然后将jdk移动到/opt/目录下并解压2.配置环境变量 vim /etc/profile3.查看当前运行级别:如果在3运行级别 ,logout 注销用户再次打开 就可以使用java命令编写一个简单的程序 测试一下:可以看到测试成功 jdk已经安装成功!...
2021-09-03 11:18:06
82
原创 安装使用lrzsz
lrzsz是一款程序,在linux中可以代替ftp的上传和下载安装lrzszyum install -y lrzsz上传:rz将文件上传到本地,默认上传到当前目录该程序支持拖拽上传,如下图所示上传后 查看本地:下载的话直接 sz filename就行了...
2021-09-03 11:01:37
145
原创 数据库表结构设计
做一个项目,必然是少不了数据库设计的!在学习阶段,基本都是单表。然而在实际开发过程中,一对多,多对多的表处处都是!简单整理一下,一对多,多对多表如何设计整理一下思路:数据库实体间有三种对应关系:一对一,一对多,多对多。一对多:一的主键放在多种比如一个用户有多个商户 则把用户id放入商户表中多对多:在多对多关系中,用两个外键来创建一个新表。已存的旧表通过这个新表来发生联系。通过学生选课了解多对多问题的处理:在多对多中在一个表中添加一个字段就行不通了,所以处理多对多表问...
2021-09-01 11:04:42
2481
原创 @ControllerAdvice注解
@ControllerAdvice,是Spring3.2提供的新注解,它是一个Controller增强器,可对controller中被 @RequestMapping注解的方法加一些逻辑处理。最常用的就是异常处理统一异常处理需要配合@ExceptionHandler使用。当将异常抛到controller时,可以对异常进行统一处理,规定返回的json格式或是跳转到一个错误页面//全局异常捕捉处理@ControllerAdvicepublic class CustomExceptionHan
2021-08-27 10:55:14
137
原创 观察者模式
观察者模式又称 发布订阅模式 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。优点:降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。 目标与观察者之间建立了一套触发机制。缺点:目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。 当观察者对象很多时,通知的发布会花费很多时间,影响程序的效率。实现观察者模式时要注意具体目标对象和具体观察..
2021-08-24 18:26:34
217
原创 linux下安装MongoDB
一、下载安装包官网地址:https://www.mongodb.com/二、安装mongodb1、使用Xftp将压缩包上传到指定目录下:cd /usr/local/mkdir mongodb然后解压文件2、创建mongodb数据存储文件和日志文件cd /usr/local/mongodb/mkdir datamkdir logscd ./logstouch mongodb.logcd ../mkdir etccd etctouch mongodb.c.
2021-08-21 16:34:35
849
原创 MongoDB update.setOnInsert()说明
$setOnInsert指令往往同upsert、$set指令配合使用。mongodb官网说明:如果upsert设为true。当满足查询条件的记录存在,则不执行$setOnInsert中的操作,当满足条件的记录不存在则执行$setOnInsert操作。与$set指令配合使用,可以作为$set指令的补充。当满足查询条件的记录存在,则执行 $set操作,当满足查询条件的记录不存在,则新增一条记录。如图所示 如果查询的数据中有gmtCreate 数据 则啥也不做 否则设置gmtCrea...
2021-08-20 15:48:50
371
原创 SpringBoot---WebMvcConfigurer详解
1. 简介WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer接口;在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加.
2021-08-17 10:25:04
293
原创 MongoTemplate查询之排序分页
Query query = new Query(); Criteria criteria = Criteria.where("id").is(id); query.addCriteria(criteria); query.skip((pageNum - 1) * pageSize); query.limit(pageSize); query.with(Sort.by( Sort.Order.asc("XXX"), S..
2021-08-16 16:17:27
1410
转载 关于Request获取路径的总结
本文章主要讨论以下几种request获取路径的方法:request.getServletPath()request.getPathInfo()request.getContextPath()request.getRequestURI()request.getRequestURL()request.getServletContext().getRealPath()以一个简单的例子说明:web.xml配置(注意此处的url-pattern项)<?xml version="1.
2021-08-12 14:01:10
3079
原创 Java注解详解
今天代码review,发现很多冗余的代码,所以领导让在每个接口上面增加一个注解 标注这个接口的版本号,如果当前项目的版本号小于接口的版本号 接口就弃用 如果想让接口弃用 就把接口的版本号设置为Integer.MAX_VALUE。在这里我复习了一下注解的相关知识。Java注解是什么代码中特殊的标记,这些标记可以在编译,类加载和运行中读取,并执行相应的处理。Java元注解标记在注解上的注解,对注解进行描述和约束。 @Target @Target(ElementType.ANNOTATI
2021-08-04 17:13:01
214
原创 01-Optional类相关用法
Guava为了避免空指针引入了optional类,但是java8后来也引入了optional,所以我们直接讲一下java8的optional本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。首先,创建Optional对象有三种方式:// 1.创建空的Optional对象Optional.empty();// 2.使用非null值创建Optional对象Optional.of("Wallace");// 3.使用任意值创建Optional对
2021-08-03 21:42:12
96
原创 01-try-with-resource
在java开发中,一些网络链接或者是文件资源都需要程序员去手动调用close方法关闭,比如InputStream、OutputStream和java.sql.Connection。如果忘关了就可能造成严重的性能后果。在以前的写法中,我们需要在finally语句块中自己关闭,非常麻烦,java7以后,我们可以使用try-with-resource自动关闭。比如下面的代码: String originalUrl = "XXX"; String targetUrl =
2021-07-31 22:16:20
135
原创 01-解决Tomcat中文乱码问题
平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,非常烦人。引起乱码的原因多个,从网上学习了很多,现在尝试简单总结给大家分享一、页面输出乱码有三种可能1.server.xml配置未注明编码格式浏览器本身有自己的显示编码格式,tomcat的输出也有自己的格式,甚至我们在编写代码的过程中也可以指定输出的编码格式。所以这类原因导致的乱码,需要我们保持各种编码格式统一:a.在tomcat中将server.xml 的我们所用的端口的
2021-07-29 16:19:28
727
原创 git上传项目
1.先要在git上新建项目2.在本地搭建好项目 进入项目所在文件夹 右键进入git bash3.依次执行下面代码:3.1 git init3.2 git add3.3 git remote add origin https://github.com/dragon-bean/K66gram.git(那个地址)origin很重要3.4 git add -A3.5 git add 文件夹名称/ //只追踪一个文件夹3.6 git commit -m' sf'3.7 gi
2021-07-28 19:36:14
293
原创 Git的smart Checkout跟force checkout的区别
这是因为在develop分支修改了代码,但是没有commit,所以在切换到其他分支的时候回弹出这个窗口.smart checkout:会把冲突的这部分内容带到目的分支force checkout:不会把冲突的这部分内容带到目的分支,但是在当前分支修改的所有内容就会被删除,就算再切回来也找不到了,所以需要慎重。don`t checkout:不切分支,继续留在当前分支。...
2021-07-28 09:57:15
990
原创 2020-10-01MySQL
MYISAM存储引擎.frm存储表结构文件,mym存储的是索引文件.MYD存储的是数据innoDB.frm表结构.ibd索引和数据
2020-10-01 10:35:17
100
原创 HashMap面试
hashMap的数据结构(jdk1.8)HashMap的数据插入原理 判断数组是否为空,为空进行初始化 不为空,计算 k 的 hash 值,通过(n - 1) & hash计算应当存放在数组中的下标 index; 查看 table[index] 是否存在数据,没有数据就构造一个Node节点存放在 table[index] 中; 存在数据,说明发生了hash冲突(存在二个节点key的hash值一样), 继续判断key是否相等,相等,用新的value替换原数据(onlyIfAbs
2020-09-30 15:25:14
151
原创 2020-9-8 富涂一面
自我介绍 介绍项目 说一下快排的思想 时间复杂度 最好最坏 为啥 归并排序相对于快排有什么优缺点 如何在20亿个字符串中找到指定的字符串 Http和https的区别 怎么保证线程安全 进程和线程(进程是资源调度的基本单位 哪些资源?) 操作系统栈和堆的区别 Hash如何处理碰撞 hash数组如何扩容...
2020-09-29 10:01:43
83
原创 大华一面
大华电话面 23min1、自我介绍2、线程池3、JDK8新特性用过哪些4、Object类的方法5、Mysql索引失效的情况,怎么判断用的那个索引6、syncronized和Lock的区别,线程在状态上有什么不同7、设计模式介绍一下8、Spring Boot了解过吗9、常见的注解...
2020-09-29 09:58:29
125
c语言成绩管理系统(期末大作业)
2020-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人