![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术文章
文章平均质量分 66
Coder-CT
while(true){
sleep(never up)
}
展开
-
Spring-Boot 操作 ElasticSearch 6.x 详解
@@top•SpringBoot 版本:2.2.4•ElasticSearch 版本:6.5.3ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch 用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。•分布式的文档存储引擎•分布式的搜索引擎原创 2023-01-17 11:27:20 · 369376 阅读 · 1 评论 -
Sping-Boot注解大全
个人理解相当于,如果扫描到有 @Component、@Controller、@Service 等这些注解的类,并注册为 Bean,可以自动收集所有的 Spring 组件,包括 @Configuration 类。:当有多个同一类型的 Bean 时,可以用 @Qualifier(“name”) 来指定。:申明让 spring boot 自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。原创 2023-01-17 10:48:00 · 367820 阅读 · 0 评论 -
SpringBoot启动原理解析
上图为 SpringBoot 启动结构图,我们发现启动流程主要分为三个部分,第一部分进行 SpringApplication 的初始化模块,配置一些基本的环境变量、资源、构造器、监听器,第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境模块、及核心的创建上下文环境模块,第三部分是自动化配置模块,该模块作为 springboot 自动配置核心,在后面的分析中会详细讨论。 配置结束后,Springboot 做了一些基本的收尾工作,返回了应用环境上下文。原创 2023-01-13 15:34:19 · 373414 阅读 · 2 评论 -
Nginx之限流
指定location拒绝所有请求deny all;前文已经涵盖了 Nginx 和 Nginx Plus 提供的“流量限制”的很多功能,包括为 HTTP 请求的不同 loation 设置请求速率,给“流量限制”配置 burst 和 nodelay 参数。还涵盖了针对客户端 IP 地址的白名单和黑名单应用不同“流量限制”的高级配置,阐述了如何去日志记录被拒绝和延时的请求。原创 2023-01-13 14:57:34 · 374616 阅读 · 0 评论 -
Spring Cloud Gateway 之限流
话说在 Spring Cloud Gateway 问世之前,Spring Cloud 的微服务世界里,网关一定非 Netflix Zuul 莫属。但是由于 Zuul 1.x 存在的一些问题,比如阻塞式的 API,不支持 WebSocket 等,一直被人所诟病,而且 Zuul 升级新版本依赖于 Netflix 公司,经过几次跳票之后,Spring 开源社区决定推出自己的网关组件,替代 Netflix Zuul。从 18 年 6 月 Spring Cloud 发布的 Finchley 版本开始,Spring原创 2023-01-13 13:43:09 · 372514 阅读 · 1 评论 -
SpringCloud-Gateway配置及持久化、过滤器、异常处理
gateway配置及持久化、过滤器、异常处理原创 2022-12-26 13:38:44 · 391184 阅读 · 0 评论 -
SpringBoot集成Kafka 配置工具类
spring-kafka 是基于 java版的 kafka client与spring的集成,提供了 KafkaTemplate,封装了各种方法,方便操作,它封装了apache的kafka-clientYML配置简单工具类,能满足正常使用,主题是无法修改的建立主题如果broker端配置auto.create.topics.enable为true(默认为true),当收到客户端的元数据请求时则会创建topic。向一个不存在的主题发送和消费都会创建一个新的主题,很多时候,非预期的创建主题,会导致很多意想不原创 2022-07-07 15:39:18 · 578731 阅读 · 2 评论 -
Sping-AOP切面相关操作
类打上注解@Aspect表示类是一个切面类,并交给spring管理)AOP五种通知类型以上5种都可以额外接收一个JoinPoint参数,来获取目标对象和目标方法相关信息,但一定要保证必须是第一个参数。比如:langPointCut() 切入点,方法中point就是切入对象,r是返回实例,可以获取返回值数据Before 前置通知 和 After后置通知:效果类似于try–catch–finally里的finally块,无论如何都会执行环绕通知 : proceed()方法–>ProceedingJoinP原创 2022-07-06 09:43:14 · 589624 阅读 · 0 评论 -
SpringBoot-Mongodb工具类、字段转换
我使用的版本是SpringBoot 2.6.4可以像Mybaits Plus 一样的功能配置类,默认不配置 添加的时候会有一个class字段,_class定义了每一条数据映射的实体类的类型,在使用SpringBoot-MongoDB的api插入数据时,即使引用类型是父类型,_class的值会插入对象的实际类型转换器的作用一看就能理解 ,只是查询量比较大的时候,转换器会消耗很大的资源,慎用!实体类 @Document(collection = “hss_history”) mongo注解,集合名称原创 2022-07-04 17:15:32 · 561474 阅读 · 0 评论 -
SpringBoot-Redis配置工具类,动态切换库
我使用的版本是SpringBoot 2.6.4可以实现注入不同的库连接或是动态切换库配置类 , 默认0号库使用@Autowired注入,自定义库使用@Resource(name = “history”)注入动态切库有个问题就是一旦切库 后面的数据就会一直保存在切换的库里面,比如实时数据需要保存在1号库,历史数据需要保存在2号库,切库后 实时的就会存历史里面、下面这种配置,想用哪个库就注入哪个库,不存在切库问题工具类,setDbIndex()动态切换库,方法调用完成应切回默认库...原创 2022-07-04 16:10:09 · 589953 阅读 · 0 评论 -
@Value注解使用事项
@Value不支持给静态变量或者静态方法赋值,例如下面这两种情况@Value("${stratedy.enable}")private static String enable;=====================================================@Value("${stratedy.enable}")public static setEnable( String enable) { EquipmentStrategy.enable = enable;原创 2022-05-13 10:40:42 · 694715 阅读 · 0 评论 -
全文检索 Elasticearch教学
全文检索 Elasticearch 教学目标 1. 了解Elasticsearch的应用场景 2. 掌握索引维护的方法 3. 掌握基本的搜索Api的使用方法约束1.阅读本教程之前需要掌握Lucene的索引方法、搜索方法 。 1 ElasticSearch介绍 1.1 介绍 官方网址:https://www.elastic.co/cn/products/elasticsearch Github:https://github.com/elastic/elasticsearch 总结:原创 2022-05-06 08:48:32 · 704047 阅读 · 0 评论 -
SharDingJDBC-5.1.0按月水平分表+读写分离,自动创表、自动刷新节点表
4升到5过后还是解决了许多问题,4版本的跨库和子查询问题都可以了,性能也提高了实现自动创建表,动态获取节点表,配置如下建表语句可以使用下面这句,解决很多麻烦问题CREATE TABLE newName LIKE oldName <!-- ShardingSphere --> <dependency> <groupId>org.apache.shardingsphere</groupId>原创 2022-03-31 16:33:53 · 762404 阅读 · 42 评论 -
SharDingJDBC-4.0.0-RC1按月水平分表
废话不多说,上代码! <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>4.0.0-RC1</version> <原创 2022-01-24 17:28:41 · 914062 阅读 · 0 评论 -
java时间工具类
可以直接复制使用/** * 字符串转换成日期 * 根据周数,获取开始日期、结束日期 * 对日期的【秒】进行加/减 * 对日期的【分钟】进行加/减 * 对日期的【小时】进行加/减 * 对日期的【天】进行加/减 * 对日期的【周】进行加/减 * 对日期的【月】进行加/减 * 对日期的【年】进行加/减 * 判断字符串是否为日期 * 今天开始和今天结束时间 */import org.apache.commons.lang.StringUtils;import org.joda.time原创 2021-11-15 11:18:59 · 978471 阅读 · 0 评论 -
java学习文档xmind文件,全是精华!
此文档是我整理了很多时间,其中好几个分支都是花钱弄来的,分享给需要的人电脑性能不好,打开这个文档可能需要几分钟时间,可以复制分支出去查看,需要装xmind软件,文档地址 提取码 chen——————————————————————————————————1234567...原创 2021-09-28 15:43:06 · 1060066 阅读 · 15 评论 -
redis 快捷启动 注册服务,jar包注册成服务,开机启动
@echo offtitle redis-serverset ENV_HOME=“D:\JavaSoft\redis”D:color 04cd %ENV_HOME%redis-server.exe redis.windows.confexit注册成服务,不用再手动打开批处理文件,开机自动启动服务注册服务 redis-server --service-install redis.windows.conf删除服务 redis-server --service-uninstall开启原创 2021-09-27 15:17:24 · 1052427 阅读 · 0 评论 -
Spring-Boot全局异常处理,JSR303校验、Hutool断言
使用了 jsr303校验,hutool断言, <!--Hutool工具包--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.9</version> </depen原创 2021-09-22 14:41:35 · 1065450 阅读 · 1 评论 -
java两个对象比较属性值
比较相同 返回trueimport java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.sql.Timestamp;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.HashMap;import java.原创 2021-09-10 11:27:33 · 1090076 阅读 · 0 评论 -
Springboot 获取响应信息,修改响应信息
通过拦截器只能获取 不能修改import com.molomessage.message.sys.utils.R;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.core.MethodParameter;import org.springframework.http.MediaType;import org.springframework.http.converter.HttpM原创 2021-09-03 15:07:38 · 1079957 阅读 · 0 评论 -
java 纯字符串运算
基本运算String a ="5*2-5";三目运算String b ="5*2-10==00?1:0";调用下面的方法就能得到结果import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;import java.math.BigDecimal;//JAVA和JS交互运算,字符串运算public class JsData {原创 2021-09-03 14:56:07 · 1098184 阅读 · 0 评论 -
Mybaits-plus生成工具类,很详细
不熟悉配置文件 就多生成几次 自然就会了 注意配置里面的输出路径,默认包名! <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependen原创 2021-09-03 14:48:52 · 1096798 阅读 · 0 评论 -
slf4日志,指定位置格式输出,保存日志
项目需要 不在控制台打印DEBUG信息,但DEBUG信息需要保存到日志文件中,mybatis的sql日志也要保存到日志中,xml配置文件中已经改好了#通过下面这段代码 指定类名输出指定级别日志,保存到日志文件中<logger name="类名" level="DEBUG"/>#指定mapper包,输出Sql日志<logger name="mapper" level="DEBUG"/> <!-- sfl4j --> <depende原创 2021-09-03 13:47:53 · 1080510 阅读 · 0 评论 -
Mysql常用语句,值得收藏
数据库 # 查看所有的数据库 SHOW DATABASES ; # 创建一个数据库 CREATE DATABASE k; # 删除一个数据库 DROP DATABASE k; # 使用这个数据库 USE k;表 # 查看所有的表 SHOW TABLES ; # 创建一个表 CREATE TABLE n(id INT, name VARCHAR(10)); CREATE TABLE m(id INT, nam原创 2021-08-26 09:43:44 · 1105178 阅读 · 0 评论 -
java 导出excel 创建多级表头 Easyexcel web下载
使用Easyexcelmaven依赖 <!--操作excel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version> <scope&g原创 2021-08-18 16:40:26 · 1088449 阅读 · 0 评论 -
HashMap底层原理
Jdk1.8中,HashMap底层基于数组、链表、红黑树实现public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { // 序列号 private static final long serialVersionUID = 362498820763181265L; // 默认的初始容量是16 st原创 2021-04-25 21:04:30 · 1068780 阅读 · 0 评论 -
SpringCloud常用组件
原创 2021-03-28 18:34:27 · 1076547 阅读 · 0 评论 -
Spring Boot 图片上传-fastdfs
分布式文件系统分布式文件系统选型方案1:购买服务七牛云,阿里云对象存储,腾讯云对象存储等等。。。。。数据量少的时候可以使用方案2:自己搭建 选择一个分布式的文件系统软件 fastdfs hdfs等数据量大的时候使用Fastdfs是什么FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。F原创 2021-03-06 14:32:47 · 1047310 阅读 · 0 评论 -
SpringBoot 微信第三方登陆详解
:第一步这篇文章只讲三方登陆主要实现步骤,不讲理论这是详细理论拿到微信拉取二维码的接口地址建一个网页 设一个跳转a标签接口地址https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect开发平台 创建完成后,获取到appid和appsecre原创 2021-03-06 11:27:19 · 1038897 阅读 · 0 评论 -
redis非关系型数据库详解
Redis: Redis持久化和淘汰策略是面试必问的 学习redis和mysql是一样的:Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,redis严格上不是一种数据库,应该是一种数据结构化存储方法的集合。redis提供了一堆操作方法【一堆命令操作数据】,我们使用这些方法就可以存入字符串,组织成各种数据结构(string,list,set,map等),使用起来更加方便。原创 2021-02-26 17:12:58 · 1029865 阅读 · 0 评论 -
Java-微信 第三方登陆流程+详细代码
流程图原创 2021-01-21 09:36:01 · 956807 阅读 · 3 评论 -
Java-MD5加密
密码全是明文,防止内部人员监守自盗,改成暗文密码加密 一般使用 MD5加密特点:一旦加密之后 ,就不可解密光是MD5加密 还不够安全 ,这时候就要添加盐值:盐值作用:让你的密码更加安全,MD5:支持加密次数MD5加密三个概念: MD5常规加密,为了让你的密码更加安全,MD5加密还要加盐值,为了让你的密码超级安全,它支持加密次数 MD5Utils.encrypByMd5(String类型的密码)就执行加密import java.security.MessageDigest;impo原创 2021-01-19 08:57:37 · 1108652 阅读 · 0 评论 -
Java-SpringBoot发送验证码短信
发送注册验证码* 验证码需求:* 1.后台随机产生4个字符* 2.1分钟以内只能发送1次验证码* 3.超过1分钟,但在5分钟以内,发送的验证码依然是第一次产生的验证码字符* 4.超过了5分钟以后,产生全新的验证码*前端使用什么框架先不管依赖配置短信依赖包 redis配置,因为验证码和手机号存储在redis中短信平台使用的建网 sms ,http://www.smschinese.cn/ 可以免费使用5条 测试即可短信依赖包 <!--原创 2021-01-17 21:12:04 · 1105047 阅读 · 3 评论 -
Java-SpringBoot发送邮件代码
所有邮件的发送都需要有运营商的支持,例如qq邮箱,163等。要发送邮件需要先获取服务上提供的授权码。以qq邮箱为例:登陆QQ邮箱,设置–账户–开启POP3/SMTP服务 拿到授权码开启服务发送验证短信点我已发送,拿到授权码: 第一步 : 导入jar包 <!--对邮件的支持jar--> <dependency> <groupId>org.springframework.boot<原创 2021-01-17 20:32:49 · 1101457 阅读 · 0 评论 -
web项目登陆功能实现
web项目登陆功能实现具体操作步骤web项目登陆功能实现 1.1 数据准备 实体类User编写 public class User { private Long id; //用户名 private String username; //密码 private String password; ..原创 2020-12-23 19:23:22 · 1118127 阅读 · 6 评论