- 博客(28)
- 收藏
- 关注
原创 Swagger介绍
OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful服务开发过程,目前版本是V3.0,并且已经发布并开源在github上。(https://github.com/OAI/OpenAPI-Specification)Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,支持从设计和文档到测试和部署的整个API生命周 期的开发。 (https://swagger
2020-10-10 22:10:54
151
原创 怎么解决idea启动时弹出JetbrainsAgent loads successfully!
找到jetbrains-agent.jar的目录,可以利用文件搜索查找jetbrains-agent.jar的位置idea安装目录 → bin → jetbrains-agent.jar → 解压工具打开 → META-INF → important.txt将 important.txt 这个文件复制到 bin 目录下,问题解决!一定要保证jetbrains-agent.jar 和 important.txt 在同一个目录下...
2020-10-06 18:05:42
4103
1
原创 SpringCloud组件
Eureka负载均衡 在消费者加@LoadBalancedhystrix 是一种保护机制 防止出现级联失败 解决雪崩问题 服务器支持的线程和并发数有限 请求一直阻塞 会导致服务器资源耗尽 从而导致其他服务部可用 形成雪崩hystrix 解决雪崩的问题有两个线程隔离 为每个依赖服务调用分配一个小线程池服务熔断 在程序里面throw new RuntimeExceptionfeign 减少代码冗余...
2020-10-05 13:20:48
90
原创 @RequestController和@RequestMapping的使用
@RestController注解来控制处理Http请求,配合@RequestMapping 配置url映射使用。@RestControllerpublic class HelloFun { @RequestMapping"/hello") public String fun(){ return "fun"; }}
2020-10-02 18:43:32
1832
原创 SpringMVC的异常处理
可以将异常抛给Spring框架,由Spring框架来处理;我们只需要配置简单的异常处理器,在异常处理器中添加视图页面即可
2020-10-01 17:21:17
65
原创 Dubbo快速入门
Dubbo作为一个RPC框架,其最核心的功能就是要实现跨网络的远程调用。本次就是要创建两个应用,一个作为服务的提供方,一个作为服务的消费方。通过Dubbo来实现服务消费方远程调用服务提供方的方法。服务提供方开发(1)创建maven工程(打包方式为war)dubbodemo_provider,在pom.xml文件中导入如下坐标<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEnc
2020-09-26 22:42:39
82
原创 Dubbo服务架构
组件说明:1、客户端:前端或外部系统2、API网关:系统唯一入口,路由转发3、application-1 :应用1,前端提供Http接口,接收用户的交互请求4、service-1 :微服务1,提供业务逻辑处理服务5、service-2:微服务2,提供业务逻辑处理服务交互流程:1、网关负责客户端请求的统一入口,路由转发,前端通过网关请求后端服务。2、网关收到前端请求,转发请求给应用。3、应用接收前端请求,调用微服务进行业务逻辑处理4、微服务为应用提供业务逻辑处理的支撑,为应用提供Dubbo.
2020-09-25 15:07:39
92
原创 mybatisPlus工程配置
pom.xml文件所导入的依赖<?xml version="1.0" encoding="UTF‐8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/mave
2020-09-22 08:55:36
129
原创 Mybatis-Plus
特性1 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑2 损耗小:启动即会自动注入基本 CRUD,性能基本无损耗,直接面向对象操作3 强大的 CRUD 操作:内置通用 Mapper 通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作, 更有强大的条件构造器,满足各类使用需求4 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错5 支持多种数据库:支持 MySQL MariaDB Oracle DB2 H2
2020-09-21 13:34:23
78
原创 Nacos配置中心
什么是配置应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数 据库连接参数、启动参数等。配置主要有以下几个特点:配置是独立于程序的只读变量配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置配置伴随应用的整个生命周期配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为。 比如:启动时需要读取服务的端口号、系统在运行过程中需要读取定时策略执行定时任务等。配置可以有多种加载方式常见
2020-09-18 20:22:58
139
原创 Nacos介绍
Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理Nacos四大功能1 服务发现与服务健康检查Nacos使服务更容易注册自己并通过DNS或HTTP接口发现其他服务。Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。2 动态配置管理动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新部署应用程序和服务的需要,这使配置更改更加高效和灵活。3 动态DNS服务Nacos支持加权路由,使您可以更
2020-09-17 15:59:02
1092
原创 系统架构演变
1 集中式架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。存在的问题:代码耦合,开发维护困难无法针对不同模块进行针对性优化无法水平扩展单点容错率低,并发能力差2 垂直拆分当访问量逐渐增大,单一应用无法满足需求,此时为了应对更高的并发和业务需求,我们根据业务功能对系统进行拆分:优点:系统拆分实现了流量分担,解决了并发问题可以针对不同模块进行优化方便水平扩展,负载均衡,容错率提
2020-09-16 17:30:39
62
原创 Linux
(1)打包并压缩文件Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。命令:tar -zcvf 打包压缩后的文件名 要打包压缩的文件其中:z:调用gzip压缩命令进行压缩c:打包文件v:显示运行过程f:指定文件名示例:打包并压缩/test下的所有文件 压缩后的压缩包指定名称为xxx.tar.gztar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt
2020-09-09 20:13:02
65
原创 SpringBoot整合连接池
连接四大参数service.port=8090spring.datasource.url=jdbc:mysql:///hongzehuspring.datasource.username=rootspring.datasource.password=1234可以使用Druid官方提供的启动器:<!-- Druid连接池 --><dependency> <groupId>com.alibaba</groupId> <artif
2020-09-08 20:13:03
138
原创 SpringBoot 快速入门
创建工程新建一个model:使用maven来构建:然后填写项目坐标:目录结构:项目结构:添加父工程坐标org.springframework.bootspring-boot-starter-parent2.0.0.RELEASE添加web启动器org.springframework.bootspring-boot-starter-web...
2020-09-07 19:44:32
572
原创 maven中的groupId和artifactId到底指的是什么
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigact
2020-09-05 13:27:04
78
原创 Java中的队列都有哪些,有什么区别
阻塞队列、普通队列,非阻塞队列。阻塞队列与普通队列的而区别在于,当队列是空时,从队列中获取元素的操作会被阻塞,或则当队列是满的时,往队列中增加元素会被阻塞,试图从空的队列中取元素的线程或从满的队列中添加元素的线程同样会被阻塞。队列的两个基本操作是inserting(插入)一个数据项,即把一个数据项放入队尾,另一个是removing(移除)一个数据项,即移除队头的数据项。这类似于电影爱好者排队买票时先排到队尾,然后到达队头买票后离开队列。栈中的插入和移除数据项方法的命名是很标准,称为push和pop。
2020-09-04 13:29:32
796
原创 2020-08-30
系统架构系统架构简单点就是指所研发的系统分类,通常划分为B/S架构和C/S架构。B/S架构:Browser(浏览器)/service(服务器),通常指的是在PC端运行的程序,例如:民宿后台管理系统、在线教育信息管理系统、网吧计费系统等等优点:安全性高(所有的数据运算都在服务器执行)、不需要频繁更新缺点:操作有局限性、运行效率低(所有的数据运算都在服务器执行)C/S架构:Client(客户端)/Service(服务器),通常指的是在移动端运行的项目,例如:QQ、微信、探探、王者荣耀、今日头条、抖音等
2020-08-30 11:29:00
226
原创 Oracle 索引
一 索引是用于加速数据存取的数据对象创建索引:1. 单列索引单列索引是基于单个列所建立的索引,比如:CREATE index 索引名 on 表名(列名)2. 复合索引复合索引是基于两个列或多个列的索引。在同一张表上可以有多个索引,但是 要求列的组合必须不同,比如:Create index emp_idx1 on emp(ename,job); Create index emp_idx1 on emp(job,ename);范例:给 person 表的name 建立索引create inde
2020-08-28 17:02:42
125
原创 varchar和varchar2的区别
1.varchar2把所有字符都占两字节处理,varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,大部分情况下建议使用varchar2类型,可以保证更好的兼容性。...
2020-08-27 19:23:26
318
原创 Git代码托管服务
1 常用的Git代码托管服务Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码
2020-08-26 17:24:28
153
原创 Git工作流程
工作流程如下:1.从远程仓库中克隆代码到本地仓库2.从本地仓库中checkout代码然后进行代码修改3.在提交前先将代码提交到暂存区4.提交到本地仓库。本地仓库中保存修改的各个历史版本5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库...
2020-08-25 17:09:34
40
原创 SpringMVC的数据响应
1) 页面跳转直接返回字符串通过ModelAndView对象返回2) 回写数据直接返回字符串返回对象或集合页面跳转-返回字符串形式(应用)SpringMVC的数据响应-页面跳转-返回ModelAndView形式1(应用)在Controller中方法返回ModelAndView对象,并且设置视图名称@RequestMapping(value="/quick2")public ModelAndView save2(){/*Model:模型 作用封装数据View:视图 作用展示数据*
2020-08-24 19:43:48
74
原创 配置坐标
<?xml version="1.0" encoding="UTF-8"?>4.0.0<groupId>org.example</groupId> <artifactId>spring_day3</artifactId> <version>1.0-SNAPSHOT</version><dependencies> <dependency> <groupId>
2020-08-19 19:07:37
90
原创 maven 工程运行调试
1、端口占用处理重新执行 tomcat:run 命令重启工程,重启之前需手动停止 tomcat,否则报下边的错误:2、断点调试点击如图所示选项在弹出框中点击如图加号按钮找到 maven 选项在弹出窗口中填写如下信息完成后先 Apply 再 OK 结束配置后,可以在主界面找到我们刚才配置的操作名称。...
2020-08-18 22:28:07
261
原创 Mybatis
Mybatis 中#和KaTeX parse error: Expected 'EOF', got '#' at position 6: 的区别?#̲相当于对数据 加上 双引号,相当于直接显示数据#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成 sql 时的值为 order by “111”, 如果传入的值是 id,则解析成的 sql 为 order by “id”.$将传入的数据直接显示生成在 sql 中。.
2020-08-17 22:48:59
48
原创 SychronousQueue 总结 DelayQueue 定义和原理
SychronousQueue 总结SynchronousQueue 由于其独有的线程一一配对通信机制,在大部分平常开发中,可能都不太会用到,但线程池技术中会有所使用,由于内部没有使用 AQS,而是直接使用 CAS,所以代码理解起来会比较困难,但这并不妨碍我们理解底层的实现模型,在理解了模型的基础上,有兴趣的话再查阅源码,就会有方向感,看起来也会比较容易,希望本文有所借鉴意义。DelayQueue 定义和原理DelayQueue 的关键元素 BlockingQueue、PriorityQueueDe
2020-08-16 20:47:18
220
原创 String类常用方法
1、求字符串长度public class test{public static void main(String[] args){String str1 = new String(“www.baidu.com”);String str2 = new String(“baidu”);System.out.print(“str1字符串长度为:”);System.out.print(str1.length());System.out.print(“str2字符串长度为:”);System.out.
2020-08-15 14:05:34
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人