- 博客(21)
- 收藏
- 关注
原创 windows环境下elasticsearch安装教程(超详细)
ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持。所以要先安装JAVA环境。由于ElasticSearch 5.x 往后依赖于JDK 1.8的,所以现在我们下载JDK 1.8或者更高版本。下载JDK1.8,下载完成后安装。
2024-12-17 18:46:42
4634
原创 Linux-安装MySQL(详细教程)
一、概述MySQL是一种关系型数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。社区版:免费,但是不提供任何技术支持商业版:收费,可以试用30天,官方提供技术支持。
2024-11-20 18:02:32
868
原创 Mysql去重查询(根据指定字段去重)
如果要看新的数据,则将以下的 min 改为 max ,也可根据自身情况调整其他字段。7、根据某些字段,删除重复的数据(示例ID最小的是要保留的数据,其他都是不要的)5、根据某些字段的去重查询,查询重复项(不包含原始项,只查询重复项)6、根据某些字段,查询出所有重复的数据(包含原始项和重复项)此处示例重复数据中ID小的是原始项,ID大的是重复项;4、根据某些字段的去重查询,查询重复项以外的全部数据。2、根据某些字段的去重查询(不考虑查询其他字段)3、根据某些字段的去重查询(考虑查询其他字段)
2024-11-20 17:32:12
1548
原创 Jenkins+Gitee项目提交自动部署(Java)
CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。 持续集成 持续交付 持续部署 CI/CD 中的"CI"始终指持续集成,它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到代码仓库中,该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。 CI/CD 中的"CD"指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。
2024-11-20 09:32:51
333
原创 第18课:Spring Boot搭建实际项目开发中的架构
配置好了之后,接下来我们来写一下 dao 层,实际中我们使用注解比较多,因为比较方便,当然也可以使用 xml 的方式,甚至两种同时使用都行,这里我们主要使用注解的方式来集成,关于 xml 的方式,大家可以查看前面课程,实际中根据项目情况来定。前面的课程中,我主要给大家讲解了 Spring Boot 中常用的一些技术点,这些技术点在实际项目中可能不会全部用得到,因为不同的项目可能使用的技术不同,但是希望大家都能掌握如何使用,并能自己根据实际项目中的需求进行相应的扩展。首先先自定义一个拦截器。
2024-11-19 17:02:22
460
原创 第17课:Spring Boot中集成Lucence
1-4] “江南佳丽地,金陵帝王州”,南京拥有着6000多年文明史、近2600年建城史和近500年的建都史,是中国四大古都之一,有“六朝古都”、“十朝都会”之称,是中华文明的重要发祥地,历史上曾数次庇佑华夏之正朔,长期是中国南方的政治、经济、文化中心,拥有厚重的文化底蕴和丰富的历史遗存。上文已经写了建立索引和检索的代码,但是在实际项目中,我们往往是结合页面做一些查询结果的展示,比如我要查某个关键字,查到了之后,将相关的信息点展示出来,并将查询的关键字高亮等等。即先建立索引,再对索引进行搜索的过程。
2024-11-19 17:00:12
532
原创 第16课:Spring Boot中集成 Shiro
从上面两个方法中可以看出:验证身份的时候是根据用户输入的用户名先从数据库中查出该用户名对应的用户,这时候并没有涉及到密码,也就是说到这一步的时候,即使用户输入的密码不对,也是可以查出来该用户的,然后将该用户的正确信息封装到 authcInfo 中返回给 Shiro,接下来就是Shiro的事了,它会根据这里面的真实信息与用户前台输入的用户名和密码进行校验, 这个时候也要校验密码了,如果校验通过就让用户登录,否则跳转到指定页面。一个用户可以有多个角色,而不同的角色可以有不同的权限,也可由有相同的权限。
2024-11-19 16:58:57
682
原创 第15课: Spring Boot中集成ActiveMQ
点对点消息:消息生产者生产消息发布到 queue 中,然后消息消费者从 queue 中取出,并且消费消息。这里需要注意:消息被消费者消费以后,queue中不再有存储,所以消息消费者不可消费到已经被消费的消息。异步消息主要有两种目的地形式,队列(queue)和主题(topic),队列用于点对点形式的消息通信,主题用于发布/订阅式的消息通信。启动项目,在浏览器中输入:http://localhost:8081/activemq/send/queue,观察控制台的输出日志,出现下面的日志说明消息发送和消费成功。
2024-11-19 16:56:01
769
原创 第14课:Spring Boot 中集成Redis
我们不使用 RedisTemplate,RedisTemplate 提供给我们操作对象,操作对象的时候,我们通常是以 json 格式存储,但在存储的时候,会使用 Redis 默认的内部序列化器;有了 redis 有哪些好处呢?Redis 是一种非关系型数据库(NoSQL),NoSQL 是以 key-value 的形式存储的,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说 SQL 标准,ACID 属性,表结构等等,这类数据库主要有以下特点:非关系型的、分布式的、开源的、水平可扩展的。
2024-11-19 16:54:15
750
原创 第13课:Spring Boot中使用拦截器
一般用户登录功能我们可以这么做,要么往 session 中写一个 user,要么针对每个 user 生成一个 token,第二种要更好一点,那么针对第二种方式,如果用户登录成功了,每次请求的时候都会带上该用户的 token,如果未登录,则没有该 token,服务端可以检测这个 token 参数的有无来判断用户有没有登录,从而实现拦截功能。preHandle(……如果你是个善于学习或者研究的人,那肯定不会止步于此,没错,上面这种方式的确能解决静态资源无法访问的问题,但是,还有更方便的方式来配置。
2024-11-19 16:51:10
675
原创 第12课:Spring Boot中使用监听器
正如注释中描述的一样,首先通过 contextRefreshedEvent 来获取 application 上下文,再通过 application 上下文来获取 UserService 这个 bean,项目中可以根据实际业务场景,也可以获取其他的 bean,然后再调用自己的业务代码获取相应的数据,最后存储到 application 域中,这样前端在请求相应数据的时候,我们就可以直接从 application 域中获取信息,减少数据库的压力。如果做的更加灵活一点,可以再加个定时器,定期的来更新这个首页缓存。
2024-11-19 16:49:46
497
原创 第10课:Spring Boot集成MyBatis
本节课主要系统的讲解了 Spring Boot 集成 MyBatis 的过程,分为基于 xml 形式和基于注解的形式来讲解,通过实际配置手把手讲解了 Spring Boot 中 MyBatis 的使用方式,并针对注解方式,讲解了常见的问题已经解决方式,有很强的实战意义。有个问题需要注意一下,一般我们在设计表字段后,都会根据自动生成工具生成实体类,这样的话,基本上实体类是能和表字段对应上的,最起码也是驼峰对应的,由于在上面配置文件中开启了驼峰的配置,所以字段都是能对的上的。但是,万一有对不上的呢?
2024-11-19 16:47:43
702
原创 第09课:Spring Boot中的切面AOP处理
AOP 的好处就是你只需要干你的正事,其它事情别人帮你干。你有一个专门的仆人 A 帮你穿衣服,仆人 B 帮你穿鞋子,仆人 C 帮你叠好被子,仆人 D 帮你做饭,然后你就开始吃饭、去玩(这就是你一天的正事),你干完你的正事之后,回来,然后一系列仆人又开始帮你干这个干那个,然后一天就结束了!@Before 注解指定的方法在切面切入目标方法之前执行,可以做一些 log 处理,也可以做一些信息的统计,比如获取用户的请求 url 以及用户的 ip 地址等等,这个在做个人站点的时候都能用得到,都是常用的方法。
2024-11-19 16:46:16
954
原创 第08课:Spring Boot中的全局异常处理
前端或者其他服务请求本服务的接口时,该接口需要返回对应的 json 数据,一般该服务只需要返回请求着需要的参数即可,但是在实际项目中,我们需要封装更多的信息,比如状态码 code、相关信息 msg 等等,这一方面是在项目中可以有个统一的返回结构,整个项目组都适用,另一方面是方便结合全局异常处理信息,因为异常处理信息中一般我们需要把状态码和异常内容反馈给调用方。在实际项目中,除了拦截一些系统异常外,在某些业务上,我们需要自定义一些业务异常,比如在微服务中,服务之间的相互调用很平凡,很常见。
2024-11-19 16:44:32
786
原创 第05课:Spring Boot中的MVC支持
可以看出, @RestController 注解包含了原来的 @Controller 和 @ResponseBody 注解,使用过 Spring 的朋友对 @Controller 注解已经非常了解了,这里不再赘述, @ResponseBody 注解是将返回的数据结构转换为 Json 格式。针对四种不同的请求方式,是有相应注解的,不用每次在 @RequestMapping 注解中加 method 属性来指定,上面的 GET 方式请求可以直接使用 @GetMapping("/get") 注解,效果一样。
2024-11-19 16:38:11
645
原创 第04课:Spring Boot中的项目属性配置
我们知道,在项目中,很多时候需要用到一些配置的信息,这些信息可能在测试环境和生产环境下会有不同的配置,后面根据实际业务情况有可能还会做修改,针对这种情况,我们不能将这些配置在代码中写死,最好就是写到配置文件中。这样就可以在开发的时候,指定读取 application-dev.yml 文件,访问的时候使用 8001 端口,部署到服务器后,只需要将 application.yml 中指定的文件改成 application-pro.yml 即可,然后使用 8002 端口访问,非常方便。
2024-11-19 16:36:47
596
原创 第01课:Spring Boot开发环境搭建和项目启动
默认情况下,如上图所示会创建一个启动类 Course01Application,该类上面有个@SpringBootApplication注解,该启动类中有个 main 方法,没错,Spring Boot 启动只要运行该 main 方法即可,非常方便。如下,选择 Spring Initializr,在 Project SDK 中选择刚刚我们导入的 jdk,点击 Next,到了项目的配置信息。同样地,新建项目后,我们一般都需要配置编码,这点非常重要,很多初学者都会忘记这一步,所以要养成良好的习惯。
2024-11-19 16:31:03
363
原创 dockerfile
jar 运行命令,参数使用逗号隔开。# 拉取 jdk8 作为基础镜像。# 复制 jar 文件到路径。# 设置启动脚本可执行权限。# 复制jdk文件到路径。# 镜像启动后暴露的端口。#配置java环境变量。
2024-11-19 10:57:05
151
原创 shell脚本
echo "网关服务启动成功,进程 ID: $gateway_pid"echo "系统服务启动成功,进程 ID: $system_pid"echo "面板服务启动成功,进程 ID: $panel_pid"echo "权限服务启动成功,进程 ID: $auth_pid"echo "定时服务启动成功,进程 ID: $job_pid"echo "权限服务启动失败!echo "网关服务启动失败!echo "系统服务启动失败!echo "权限服务启动中..."echo "网关服务启动中..."
2024-11-19 10:55:46
310
原创 Nginx - 反向代理、缓存详解
当代理服务器往真实服务器转发请求的时候,往往接收到的是请求头的一小部分信息,如果把proxy_buffering 打开,那么proxy会尽可能的去把请求收集完,然后在返回给客户端,这个起到了一个缓存的作用。worker_cpu_affinity(重要优化项):将进程与Cpu绑定,提高了Cpu Cache的命中率,从而减少内存访问损耗,提高程序的速度。#4个cpu,开启4个进程。
2024-11-19 10:50:32
633
原创 2024-11-19 linux笔记
docker run -d -p 9091:9090 think-cloud \ --mount source=clouddata,target=/opt/docker 如果名字(clouddata)重复 需要修改。docker stop 容器名称。
2024-11-19 09:58:15
282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人