SpringBoot/SpringCloud
文章平均质量分 92
Spring/SpringBoot/SpringCloud相关使用和错误解决
无敌的黑星星
努力的去写代码
展开
-
Docker
Docker一、Docker的基本命令# docker启动 $ systemctl start docker $ service docker start# 重启docker服务$ systemctl restart docker$ sudo service docker restart# 关闭docker $ systemctl stop docker$ service docker stop# 查看是否启动成功$ docker ps -a原创 2022-02-11 13:13:51 · 133 阅读 · 0 评论 -
SQL优化总结 - MySQL
SQL优化最干货总结 - MySQL目录前言SELECT语句 - 语法顺序:SELECT语句 - 执行顺序:SQL优化策略一、避免不走索引的场景二、SELECT语句其他优化三、增删改 DML 语句优化四、查询条件优化五、建表优化好了我们言归正传,首先,对于MySQL层优化我一般遵从五个原则:减少数据访问: 设置合理的字段类型,启用压缩,通过索引访问等减少磁盘IO返回更少的数据: 只返回需要的字段和数据分页处理 减少磁盘io及网络io减少交互次数: 批量DML操作,函数存储等减少原创 2022-02-11 13:12:35 · 259 阅读 · 0 评论 -
ElasticSearch
ElasticSearch一、字段的类型Field type的详解下面就是所有的字段类型字符串类型 text,keyword整数类型 integer,long,short,byte浮点类型 double,float,half_float,scaled_float逻辑类型 boolean日期类型 date范围类型 range二进制类型 binary复合类型 数组类型 array对象类型 object嵌套类型 nested地理类型 地理坐标类型 geo_point地理地图 geo_s原创 2022-02-11 13:11:15 · 73672 阅读 · 0 评论 -
Docker
Docker一、Docker的基本命令# docker启动 $ systemctl start docker $ service docker start# 重启docker服务$ systemctl restart docker$ sudo service docker restart# 关闭docker $ systemctl stop docker$ service docker stop# 查看是否启动成功$ docker ps -a原创 2022-02-11 13:10:24 · 1021 阅读 · 0 评论 -
RabbiMq详解
RabbitMq1、消息队列是在消息的传输过程中保存消息的容器。它是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。2、AMQP和JMSMQ是消息通信的模型,并发具体实现。现在实现MQ的有两种主流方式:AMQP、JMS。两者间的区别和联系:JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式JMS限定了原创 2022-02-07 18:35:53 · 1248 阅读 · 0 评论 -
Java的内存模型是什么
Java的内存模型是什么1、Java内存区域Java虚拟机在运行程序时会把其自动管理的内存划分为以上几个区域,每个区域都有的用途以及创建销毁的时机,其中蓝色部分代表的是所有线程共享的数据区域,而绿色部分代表的是每个线程的私有数据区域。1、方法区(Method Area):方法区属于线程共享的内存区域,又称Non-Heap(非堆),主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,根据Java 虚拟机规范的规定,当方法区无法满足内存分配需求时,将抛出OutOfMemo原创 2021-11-25 17:17:15 · 2439 阅读 · 1 评论 -
Java多线程-AQS简介
一、AQS1、AQS简介 在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的模板方法实现同步组件语义。AQS 则实现了对同步状态的管理,以及对阻塞线程进行排队,等待通知等等一些底层的实现处理。AQS的核心也包括了这些方面:同步队列,独占式锁的获取和释放,共享锁的获取和释放以及可中断锁,超时等待锁获取这些特性的实现,而这些实际上则是AQS提供出来的模板方法。同步队列当共享资源被某个线程占有,其他请求该资源的线程将会阻塞,从而进入同步队列。就数据结构而言,队列的实原创 2021-11-23 17:57:55 · 294 阅读 · 0 评论 -
Springboot AOP实现指定敏感字段数据加密
Springboot AOP实现指定敏感字段数据加密1、对简单数据加密解密我们目标是想对这些我们认为是敏感的数据加密,不能这么明白的展现出来 。pom文件引入依赖:<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.原创 2021-11-22 14:53:53 · 987 阅读 · 0 评论 -
springboot Jar包 秒部署到Linux服务器运行
最近开发完一个springboot项目,打包成jar包之后要部署到Linux服务器上面运行,我用的nohup java -jar 命令,但是代码更新之后重新部署的时候覆盖原来的项目,又要手动运行ps -ef|grep jar包名 去查找进程,然后kill -9 去kill进程,有时候nohup进程老是kill不掉,只能多试几次,烦不胜烦。后来专门花时间研究了一下脚本和本地window上传文件到linux服务器的命令,整合了一个启动脚本,顿时项目部署变得无比简单,一分钟内在线上的代码就可以更新了。下面是具原创 2021-05-28 18:01:46 · 251 阅读 · 2 评论 -
Postgres和GIS的使用
安装Postgres数据库和postgis-bundle的插件 在网页打开postgres数据库的网页显示 在SpringBoot中配置数据库 # \u5E94\u7528\u540D\u79F0spring.application.name=datasyncserver.port=8090mybatis.type-aliases-package=com.womow.datasync.entiymybatis.mapper-locations=classpath:mapper/**/*.x原创 2020-12-07 19:57:41 · 2060 阅读 · 0 评论 -
读取Json,并解析成对象
读取文件 解析json 地址做偏移 package com.womow.datasync.util;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.womow.datasync.entiy.DevName;import com.womow.datasync.entiy.Line;import c原创 2020-12-07 19:50:45 · 1225 阅读 · 0 评论 -
Springboot中定时器的简单使用
在启动类中开启定时器注解 @EnableScheduling 在需要定时启动的类上,加上启动注解 @Scheduled(cron="0 10 15 * * ?")corn生成器链接:https://cron.qqe2.com/原创 2020-12-07 19:46:57 · 136 阅读 · 0 评论 -
Shiro的源码分析
Shiro的源码分析一、 Token相关类1)、接口类package org.apache.shiro.authc;import java.io.Serializable;//AuthenticationToken 用于收集用户提交的身份(如用户名)及凭据(如密码)public interface AuthenticationToken extends Serializable { //得到主体subject进行身份认证的标识,标识具有唯一性 Object getPrin原创 2020-11-17 18:42:31 · 562 阅读 · 0 评论 -
springboot使用spring-boot-configuration-processor获取配置文件
springboot使用spring-boot-configuration-processor获取配置文件springboot中获取配置文件的方式,通常大家最常用的是@Value("${mail.username}")的形式,也可以用spring-boot-configuration-processor来更优雅得读取配置文件。下面讲下具体用法。引入pom文件 在使用idea创建springboot项目的时候,可以选择。 也可以直接引入pom文件<dependency> &原创 2020-11-16 19:21:28 · 7820 阅读 · 0 评论 -
(2020)SpringBoot(初级+中级级)
(2020)SpringBoot(初中高级)一、SpringBoot的概述SpringBoot是Spring的扩展,它里面有很多xxxxAutoConfiguration配置类,这样就简化了使用Spring开发应用Springboot的父项目<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</art原创 2020-11-03 20:14:38 · 190 阅读 · 0 评论 -
feign和ribbon区别
feign和ribbon是Spring Cloud的Netflix中提供的两个实现软负载均衡的组件,Ribbon和Feign都是用于调用其他服务的,方式不同。Feign则是在Ribbon的基础上进行了一次改进,采用接口的方式。feign和ribbon是Spring Cloud的Netflix中提供的两个实现软负载均衡的组件,Ribbon 和 Feign 都是用于调用其他服务的,方式不同。Feign 则是在 Ribbon 的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义...原创 2020-10-31 20:22:11 · 530 阅读 · 0 评论 -
(2020)SpringMVC的使用
(2020)SpringMVC的使用一、概述1、什么是Spring MVC?简单介绍下你对Spring MVC的理解?Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2、SpringMVC 的优点支持各种视图技术,不仅仅局限于JSP与spring框架继承清晰的角色分配:前端控制器DispatchServle原创 2020-10-28 00:16:40 · 135 阅读 · 0 评论 -
(2020)Spring框架(基础和中级部分)
2020 Spring框架一、框架的概述1、spring是什么?为了解决什么提出的?Spring是一个轻量级Java开发框架,目的是为了解决企业级应用开发的业务逻辑和其它层的耦合问题(简化java开发)spring可以做很多东西,为企业级平台提供了丰富的功能,但是这些功能的都依赖与他的两个核心特性,控制反转和面向切面编程2、Spring的优点(减低耦合,增强服务,简化开发)减低程序之间的耦合简化开发流程通过切面编程以动态非侵入的方式增强服务声明式事务的支持方便测试方便集成各种优秀的框原创 2020-10-27 23:13:11 · 239 阅读 · 0 评论 -
什么是spring boot
什么是Spring Boot? Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。官方网站:http://projects.spring.io/spring-boot/GitHub源码:https://github.com/spring-pr...原创 2018-10-23 15:34:12 · 162 阅读 · 0 评论 -
JVM 内存结构
JVM ≠ Japanese Video's Man写这篇的主要原因呢,就是为了能在简历上写个“熟悉JVM底层结构”,另一个原因就是能让读我文章的大家也写上这句话,真是个助人为乐的帅小伙。。。。嗯,不单单只是面向面试学习哈,更重要的是构建自己的JVM 知识体系,Javaer 们技术栈要有广度,但是 JVM 的掌握必须有深度直击面试反正我是带着这些问题往下读的 说一下 JVM 运行时数据区吧,都有哪些区?分别是干什么的? Java 8 的内存分代改进 举例...原创 2020-10-18 23:30:08 · 213 阅读 · 2 评论 -
2020后端开发面试总结(全网最全)
序号 内容 链接地址 1 Java基础知识面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104390612 2 Java集合容器面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/104588551 3 Java异常面试题(2020最新版) https://thinkwon.blog.csdn.net/...转载 2020-10-18 23:26:22 · 837 阅读 · 1 评论 -
spring的javax.validation 注解式参数校验.
为什么要用validator javax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行校验 不然我们的代码就像下面这样: // http://localhost:8080/api/user/save/serial /** * 走串行校验 * * @param userVO * @return */ @PostMapping("/save/serial") public Object.原创 2020-10-18 00:32:32 · 1838 阅读 · 0 评论 -
SpringCloud Alibaba的简单(feign,nacos,gateway)远程服务调用,注册中心,配置中心,API网关
SpringCloud Alibaba1、springcloud的痛点1、微服务过多,治理成本高,不利于维护系统2、分布式系统开发的成本高(容错,分布式事务等)对团队挑战大2、springcloudAlibaba的优势1、服务拆分粒度更细,有利于资源重复利用,有利于提高开发效率2、可以更精准的制定优化服务方案,提高系统的可维护性3、微服务架构采用去中心化思想,服务之间采用Restful等轻量级通讯,比ESB更轻量4、适于互联网时代,产品迭代周期更短3、springcloud Alibaba原创 2020-09-27 17:40:06 · 1757 阅读 · 1 评论 -
SpringBoot和Vue以及renrenfast整合开发的电商项目
SpringBoot和Vue以及renrenfast整合开发的电商项目1、vagrant的使用下载安装vagrant,之后查看是否安装成功:vagrant -v通过vagrant的命令安装centos7vagrant init centos/7这样就可以初始化一个centos7系统执行vagrant up命令即可启动虚拟机,系统root用户的密码是vagrant执行vagrant ssh就会自动的连接到虚拟机修改虚拟机的ip地址,在Vagrantfile中的confi原创 2020-09-27 10:04:54 · 221 阅读 · 0 评论 -
关于nacos windows10启动失败解决方案(亲测,可以!!!!)
关于nacos 1.3.2启动失败解决方案打开配置文件rem set MODE="cluster"rem standalone 单机模式set MODE="standalone"set FUNCTION_MODE="all"set SERVER=nacos-serverset MODE_INDEX=-1set FUNCTION_MODE_INDEX=-1set SERVER_INDEX=-1set EMBEDDED_STORAGE_INDEX=-1set EMBEDDED_原创 2020-09-27 00:42:52 · 2960 阅读 · 0 评论 -
IDEA中的clean,清除项目缓存
熟悉Eclipse的都知道Eclipse经常性的会出现一些莫名其妙的问题,有时候运行的好好的突然重启一下项目就莫名的报错,所以经常会用到clean功能清除项目中缓存重新加载校验。IntelliJ IDEA虽然比Eclipse功能上要强大很多,但还是会偶尔抽风的,IDEA并没有clean选项但与之对应的是:缓存将在下一次启动时失效并重新构建,当地历史也将被清除。点击后自动重启就好了。...原创 2020-09-26 12:36:32 · 1183 阅读 · 0 评论 -
idea导入maven项目 报“Override is not allowed when implementing interface method”
导入一个新的maven项目发现很奇怪的一个bug,提示错误,“@Override is not allowed when implementing interface method”。详细的代码描述如下:通过网上查询知道,@Override从jdk1.5开始出现的,是用来标注方法重写的。通常方法重写发生在继承父类,重写父类方法,或者实现接口,实现接口方法。@Override能够保证你正确重写方法,当你重写方法出错时,比如方法名误写,或者漏掉参数,编译器会提示编译错误。 出现以上问题,则跟编译器版原创 2020-09-25 15:25:54 · 211 阅读 · 0 评论 -
.gitignore文件的作用及使用
官网文档:https://git-scm.com/docs/gitignore名称gitignore-指定故意忽略的文件以忽略概要$ XDG_CONFIG_HOME / git / ignore,$ GIT_DIR / info / exclude,.gitignore描述一个gitignore文件指定故意未跟踪文件的Git应该忽略。Git已经跟踪的文件不受影响;有关详细信息,请参见下面的注释。gitignore文件中的每一行都指定一个模式。在决原创 2020-09-25 11:36:18 · 1238 阅读 · 0 评论 -
idea系列之-PluginException: Short name ‘MybatisMapperMethodInspection‘ is not unique
根据异常提示,这是由于idea插件,依赖jar包冲突了 class 'com.baomidou.plugin.idea.mybatisx.inspection.MapperMethodInspection' in PluginDescriptor(name=MyBatisX, classpath=C:\Users\ASUS\.IntelliJIdea2019.3\config\plugins\MybatisX-idea.0.1.0.jar) and class'com...原创 2020-09-25 11:20:27 · 2765 阅读 · 0 评论 -
.gitignore 不起作用问题的解决
如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下:git rm -r --cached . git add .git commit -m "update gitignore"...原创 2020-09-25 11:14:12 · 208 阅读 · 0 评论 -
intellij idea 使用码云
打开idea,然后点File→Setting 找到Version Control→Gitee→Creat Api Token,然后点击这个按钮 在弹出的界面中输入登录码云用的账号和密码 登录成功,token就自己生成了 点击Test,显示登录成功 6 最后点Apply→ok就可以了 至于怎么从码云克隆一个开源项目下来 参见<In...原创 2020-09-25 11:13:17 · 325 阅读 · 0 评论 -
Centos7修改IP地址
一、进入网络配置文件目录首先,确保在root用户下进行操作。进入网络配置文件network-scripts目录下。[root@localhost /]# cd /etc/sysconfig/network-scripts/二、找到我们需要修改的配置文件使用ls命令,列出该目录下的文件。其中“ifcfg-ens33”的文件,为我们需要修改的网络配置文件。三、修改配置文件使用vim命令(vi命令也可以),对文件进行配置,我们需要修改BOOTPROTO="static"也就是...原创 2020-09-23 17:07:40 · 864 阅读 · 0 评论 -
Elasticsearch的使用和spring的整合使用
Elasticsearch的使用和spring的整合使用1、ElasticSearch下载,安装,启动docker run -e ES_JAVA_OPTS="-Xms256m -Xms256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90b简介:ElasticSearch是开源的全文搜索引擎的首选,他可以快速的存储,搜索和分析海量数据。spring boot通过整合spring data elasticsearch为我们提供了非原创 2020-09-20 14:50:29 · 413 阅读 · 0 评论 -
Spring支持的消息中间件(RabbitMQ)
Spring支持的消息中间件1、概念大部分应用通过消息服务中间件来提升异步通信,扩展解耦能力组成:消息代理message broker 和目的地destination。但消息发送者发送消息以后,将消息代理接管,消息代理保证消息传递到目的地消息队列的两种形式的目的地队列:点对点消息通信主题:发布订阅消息通信实现消息通信的中间件JMS java message service Java消息服务:基于JVM消息代理的规范,activeMQq,HornetMQq是JMS实现的AMQP原创 2020-09-20 09:49:20 · 210 阅读 · 0 评论 -
Spring缓存抽象
Spring缓存抽象1、定义Spring定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术,并支持JCache注解简化开发。Cache接口为缓存的组件规范定义,包含缓存的各种操作集合Cache接口下的Spring提供的各种xxxcache的实现,如RedisCache,等每次调用需要缓存功能的方法时,Spring会检查指定参数的指定方法的目标方法是否已经被调用过,如果有就直接原创 2020-09-20 08:34:43 · 141 阅读 · 0 评论 -
SpringData的使用
SpringData的使用1、简介SpringData是一个用于简化数据库访问,并支持云服务的开源框架。可以极大的简化JPA的写法,可以再不用写实现的情况下,实现对数据的访问和操作。除了CURD外,还包括分页,排序等一些常用的功能。SpringData使得访问关系型和非关系型的数据库都是基于Spring提供的统一标准。统一的Repository接口 Repository<T,ID extends Serialiable>:统一接口RevisionRepository乐观锁机制Cu原创 2020-09-18 22:45:23 · 1251 阅读 · 0 评论 -
Spring缓存抽象
Spring缓存抽象1、定义Spring定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术,并支持JCache注解简化开发。Cache接口为缓存的组件规范定义,包含缓存的各种操作集合Cache接口下的Spring提供的各种xxxcache的实现,如RedisCache,等每次调用需要缓存功能的方法时,Spring会检查指定参数的指定方法的目标方法是否已经被调用过,如果有就直接原创 2020-09-18 22:12:44 · 102 阅读 · 0 评论 -
JAVA表示层,业务层,持久层的框架分别有哪些
JAVA表示层,业务层,持久层的框架分别有哪些1、表示层JSP,Freemark,Velocity,2、控制层Struts,Struts23、持久层Hibernate、Mybatis、Mybatis Plus十大常用框架:一、SpringMVC二、Spring三、Mybatis四、Dubbo五、Maven六、RabbitMQ七、Log4j八、Ehcache九、Redis十、Shiro延展阅读:一、SpringMVCSpring Web MVC是一种基于Java的实现了原创 2020-09-18 15:11:21 · 3100 阅读 · 1 评论 -
SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用
SSM是sping+springMVC+mybatis集成的框架。MVC即model view controller。model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。原创 2020-09-18 14:45:09 · 13881 阅读 · 5 评论 -
Spring Data JPA 与 MyBatis简单对比
Spring Data JPA是Spring Data的子模块。使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易。Spring Data JPA的目标是大大简化数据访问层代码的编码。作为使用者,我们只需要编写自己的repository接口,接口中包含一些个性化的查询方法,Spring Data JPA将自动实现查询方法。JPA默认使用hibernate作为ORM实现,所以,一般使用Spring Data JPA即会使用hibernate。我们再看看hiberna原创 2020-09-18 14:02:34 · 676 阅读 · 0 评论