自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 email工具

package com.sdj.cashier.agent.center.common.utils;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import javax.mail.internet.MimeMessage;import java.io.File;import java.util.Hash

2022-01-18 09:51:20 323

原创 java追加写入文件内容

public static void addContent(String file,String content) { FileWriter fw = null; try { //如果文件存在,则追加内容;如果文件不存在,则创建文件 File f=new File(file); fw = new FileWriter(f, true); } catch (IOException e) { e.printStackTrace(); } PrintWriter pw

2021-11-04 10:53:53 593

原创 springmvc从请求中获取数据

public Result ocr(HttpServletRequest request, HttpServletResponse response) { // 从请求param中获取参数 request.getParameter("type"); // 从请求body获取参数 BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream())); String content = I

2021-08-03 11:13:14 149

原创 base64图片拼接头

自取data:image/jpg;base64,

2021-07-30 17:32:11 1973

原创 常用linux指令

tail【查看日志】tail -f *.logtailf *.logtailf -1000 *.logvi 【编辑文本】vi x.log 【强大的vi命令】 :wq 保存退出 :q! 退出不保存 Shift+g 跳至当前文本最后一行 【看最新的日志,都在最下面】 g+g 跳至当前文本第一行grep 【专抓日志,grep是必备日志分析命令】grep 【强大的grep,搜日志就靠它了】 grep -r '关键字如商品ID' *.log 【使用频

2021-06-03 17:43:34 57

原创 三、spring微服务接入JPA

pom引入jpa依赖 <!--jpa--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>DROP TABLE IF EXIS

2021-02-24 11:19:43 313 2

原创 专栏结语:基于spring cloud的工具栈

服务注册发现:Eurake服务配置:Spring Cloud Config服务熔断:Hystrix网关:Spring Cloud Gateway负载均衡:Feign追踪工具:Sleuth,Zipkin,Htrace日志采集:logback,ElasticSearch监控平台:Promethues,Kibana,grafna,Spring boot admin...

2021-02-18 14:53:05 88

原创 ORM框架与JPA规范

一、ORM框架1.ORM简单介绍对象关系映射,(Object Relational Mapping,简称ORM),是通过使用描述对象和数据库之间的映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中,本质上讲就是将数据从一种形式转换为另一种形式,也就是在开发当中操作实体类对象就是操作数据库表。实际应用中即在关系型数据库和业务对象之间做一个映射,就不需要和SQL语句打交道,只要像平时操作对象一样就可以了,常见的ORM框架有Hibernate、TopLink、Castor JDO、Apache

2021-02-18 10:41:53 304

原创 Springdata JPA、MyBatis选型

概述JPA是Java Persistence API的简称,中文名Java持久层API,描述对象-关系表的映射关系,本身是一种ORM规范,不是ORM框架.由各大ORM框架提供实现,Springdata JPA基于Hibernate来实现;而mybatis着力于POJO与SQL之间的映射关系。性能​ 由于 Hibernate 比 MyBatis 抽象封装的程度更高,理论上单个语句之心的性能会低一点(所有的框架都是一样,排除算法上的差异,越是底层,执行效率越高)。 但 Hibernate 会设置缓存,对.

2021-02-09 18:26:08 224 1

原创 mysql踩坑记录

navicate执行mysql的sql语句报错[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible wit

2021-02-09 17:34:19 117

原创 二、spring微服务接入mysql、连接池 druid

微服务接入druidDruid的简介建立数据库连接是相当耗时和耗费资源的,而且一个数据库服务器能够同时建立的连接数也是有限的,在大型的Web应用中,可能同时会有成百上千个访问数据库的请求,如果Web应用程序为每一个客户请求分配一个数据库连接,将导致性能的急剧下降。为了能够重复利用数据库连接,提高对请求的响应时间和服务器的性能,可以采用连接池技术。连接池技术预先建立多个数据库连接对象,然后将连接对象保存到连接池中,当客户请求到来时,从池中取出一个连接对象为客户服务,当请求完成后,客户程序调用close()

2021-02-09 17:12:38 719

原创 IDEA连接mysql数据库

IDEA连接mysql数据库mysql自行安装启动(如果需要可以私聊我要mysql、navicate绿色解压版)本文使用IDEA内置Database连接,点击右侧边栏的Database配置数据库连接URL我贴出来了:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezo

2021-02-09 15:27:33 305

原创 一、spring微服务接入redis

注:本文只将快速应用,深入了解会另开文章一、启用redis服务https://github.com/tporadowski/redis/releases解压即可使用:双击 redis-server.exe 启动redis服务端修改默认配置文件 redis.windows.conf(左为默认,右为修改后)双击 redis-cli.exe 启动redis客户端验证方式如下图二、项目接入redispom依赖 <!-- redis --> &l

2021-02-04 11:34:38 352 2

原创 Eureka和ZooKeeper的区别

首先我们先说下:RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则(A:原子性。C:一致性。I:独立性。D:持久性。)。NoSql==> (redis,Mogodb等非关系型数据库)遵循的原则是:CAP原则(C:强一致性。A:可用性。P:分区容错性)。在分布式领域有一个很著名的CAP定理:C:数据一致性。A:服务可用性。P:分区容错性(服务对网络分区故障的容错性)。在这个特性中任何分布式系统只能保证两个。CAP理论也就是说在

2021-01-29 16:44:49 571

原创 微服务网关Zuul和Gateway的区别

https://blog.csdn.net/u010681191/article/details/99656413https://www.zhihu.com/question/280850489https://www.cnblogs.com/lgg20/p/12507845.htmlAPI网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gatewayhttp://www.360doc.com/content/18/0208/05/46368139_728502763.s

2021-01-29 16:30:43 1515 3

原创 八、项目接入网关gateway

新建项目依赖注入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.0 http://maven.a

2021-01-29 16:12:27 919 1

原创 不重启config服务使配置更新生效

前言项目如何接入spring cloud config,请看上文链接实际使用中,项目启动顺序是:启动服务注册中心(register-service)启动配置中心(config-service)启动客户端这样就导致配置中心如果更新配置文件或者停掉服务,并不影响客户端使用配置文件(此时已经加载配置文件),但是我们想要的效果是:如果修改了配置文件,客户端也可以做出响应手动刷新更新配置文件客户端pom.xml中引入了spring-boot-starter-actuator并在客户端配置文件中确认

2021-01-28 11:19:08 664

原创 七、配置中心Config

前言开发到此可发现多项目维护配置文件其实都是一样的,而且不利于后期统一维护,所以项目需要接入一个配置中心第三方配置中心产品微服务配置中心选型比较——Nacos、Apollo、Config由于Disconf不再维护,下面对比一下Spring Cloud Config、Apollo和Nacos。Disconf:百度开源的配置管理中心,目前已经不维护了Spring Cloud Config: Spring Cloud 生态组件,可以和Spring Cloud体系无缝整合。Apollo: 携程开源的

2021-01-27 18:44:47 167

原创 Spring Cloud Feign 之Fallback

作用在网络请求时,可能会出现异常请求,如果还想再异常情况下使系统可用,那么就需要容错处理,比如:网络请求超时时给用户提示“稍后重试”或使用本地快照数据等等。Spring Cloud Feign就是通过Fallback实现的...

2021-01-25 14:19:34 1073

原创 六、项目接入OpenFeign

Ribbon、Feign和OpenFeign的区别RibbonRibbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件Ribbon 可以用来做客户端负载均衡,调用注册中心的服务Ribbon的使用需要代码里手动调用目标服务,请参考官方示例:https://github.com/Netflix/ribbonFeignFeign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务

2021-01-21 19:00:54 558 4

原创 五、项目集成Eureka、Hystrix

创建Eureka注册中心(服务端)新建一个maven项目在基础的spring boot基础上,注入相关依赖<?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://ma

2021-01-19 22:24:26 300

原创 熔断器Hystrix作用

容错限流的需求在复杂的分布式系统中通常有很多依赖,如果一个应用不能对来自依赖故障进行隔离,那么应用本身就处于被拖垮的风险中。在一个高流量的网站中,某一个单一后端一旦发生延迟,将会在数秒内导致所有的应用资源被耗尽,这也就是我们常说的雪崩效应。比如在电商系统的下单业务中,在订单服务创建订单后同步调用库存服务进行库存的扣减,假如库存服务出现了故障,那么会导致下单请求线程会被阻塞,当有大量的下单请求时,则会占满应用连接数从而导致订单服务无法对外提供服务容错限流的原理对于基本的容错限流模式,主要有以下几点需要

2021-01-19 22:22:41 791

原创 四、项目接入Security

2021-01-15 20:59:33 325

原创 serialVersionUID作用

Serializable接口使用作用实现Serializable接口的目的是为类可持久化,比如在网络传输或本地存储,为系统的分布和异构部署提供先决条件。若没有序列化,现在我们所熟悉的远程调用,对象数据库都不可能存在,serialVersionUID适用于java序列化机制。简单来说,JAVA序列化的机制是通过 判断类的serialVersionUID来验证的版本一致的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID于本地相应实体类的serialVersionUID进行比较

2021-01-15 19:15:37 392

原创 Serializable接口的作用

概念在程序中为了能直接以 Java 对象的形式进行保存,然后再重新得到该 Java 对象,这就需要序列化能力。序列化其实可以看成是一种机制,按照一定的格式将 Java 对象的某状态转成介质可接受的形式,以方便存储或传输。其实想想就大致清楚基本流程,序列化时将 Java 对象相关的类信息、属性及属性值等等保存起来,反序列化时再根据这些信息构建出 Java 对象。而过程可能涉及到其他对象的引用,所以这里引用的对象的相关信息也要参与序列化。Java 中进行序列化操作需要实现 Serializable 或 Ex

2021-01-15 18:56:08 3219

原创 actuator配置拓展

开启更多监控信息如之前文章最终效果默认支持的链接有:/actuator/actuator/health/health/{component}/{instance}/health/{component}/actuator/info可以在application.yml 配置文件中配置开启更多的监控信息:#注意,不要使用 application.properties 配置文件,会报一些奇怪的错误(比如配置不生效)。# 声明暴露出所有接口management: endpoints:

2021-01-14 20:55:54 1373

原创 三、项目接入Spring Boot Actuator

Actuator简介生产系统中,往往需要对系统实际运行的情况(例如cpu、io、disk、db、业务功能等指标)进行监控运维。在SpringBoot项目中Actuator模块提供了众多HTTP接口端点(Endpoint),来提供应用程序运行时的内部状态信息。Actuator模块提供了一个监控和管理生产环境的模块,可以使用http、jmx、ssh、telnet等来管理和监控应用。包括应用的审计(Auditing)、健康(health)状态信息、数据采集(metrics gathering)统计等监控运维的

2021-01-14 19:42:37 481 1

原创 idea运行报Command line is too long

报错Error running ‘testApplication’: Command line is too long. Shorten command line for testApplicationor also for Application default configuration.解决修改项目下 .idea\workspace.xml,找到标签 , 在标签里加一行

2021-01-14 14:33:01 112

原创 swagger弹性拓展

Swagger配置类package com.springboot.demo.properties;import com.google.common.collect.Lists;import lombok.Data;import lombok.NoArgsConstructor;import java.util.List;/** * @author zihui * @version 1.0 * @title: SwaggerProperties * @description: TOD

2021-01-14 14:10:06 331

原创 二、项目接入swagger(API文档工具 )

官网配置依赖的包 <properties> <swagger.version>2.9.2</swagger.version> </properties> <dependencies> <!-- 将swagger整合到spring boot项目中 --> <dependency> <groupId>io.springfox</group

2021-01-13 18:49:22 1012

原创 Spring四大注解 :@Service、@Repository、@Component、@Controller

注解含义@Controller用来定义控制(dao)层的组件@Service用来定义业务层(service)的组件@Repository用来定义持久层(domain)的组件@Component用来定义不在上述范围内的一般性组件(最普通的组件,可以被注入到spring容器进行管理)@Controller比较好理解,加到Controller上就行了。Java web服务的项目可以用@RestController。@Service和@Component分不太清...

2021-01-13 17:54:28 777

原创 一、创建springboot项目

1. idea中创建maven项目2. 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.0 ht

2021-01-13 16:53:35 93

原创 好用的在线开发辅助工具

1. 流程图工具免费在线作图、实时协作(支持流程图、思维导图、原型图、UML、网络拓扑图、组织结构图等)https://www.processon.com2. 在线格式化json工具https://www.jsonformat.cn3. 奇迹秀工具箱http://www.qijishow.com/down/index.html4. 在线Cron表达式生成器https://cron.qqe2.com5. 百度网盘https://pan.baidu.com5. GithubGit 是由

2021-01-13 15:14:00 377

原创 自定义日志注解

package report.aop;import java.lang.annotation.*;/** * 接口日志注解专用 * @author 子灰 * @date 2021-01-10 16:04:02 **/@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface SysLog { String value() default "";}pack

2021-01-10 18:01:18 72

原创 定时任务

package report.scheduled;import report.domain.service.ReportUserService;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.annotation.EnableScheduling;import org.spring

2021-01-10 17:52:07 83

原创 Mysql 存储过程和函数区别

这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-01-07 18:30:35 1831

原创 附件工具类

附件工具类一般文件导出(文件流)文件加密创建文件夹一般文件导出(文件流)文件加密创建文件夹package tools.attachment;import org.apache.commons.codec.CharEncoding;import org.apache.commons.lang.StringUtils;import org.apache.poi.openxml4j.opc.OPCPackage;import org.apache.poi.openxml4j.opc.Packag

2021-01-07 17:41:38 87

原创 如何引入lombok

新建项目如何引入lombokFile→Settings→Plugins搜索Lombok参考链接:https://blog.csdn.net/qq_41864967/article/details/103505914 @Accessors(chain = true) //链式set @Data //生成Getter,Setter,equals,canEqual,hasCode,toString等方法 @AllArgsConstructor //生成全参数构造函数 @

2021-01-07 17:23:53 2243

原创 java以流的方式下载文件

页面调用下载接口,将文件以流的形式返回给前端import org.apache.commons.codec.CharEncoding;import javax.servlet.http.HttpServletResponse;import java.io.*;/** * 附件导出工具类 * @author zihui * @date 2021-01-05 16:08:55 * @version 1.0 */public class FileExport { /**

2021-01-06 16:55:33 792

原创 使用excel快速拼接sql语句

excel中CONCATENATE()函数用法| 在这里插入图片描述ABC标题内容=CONCATENATE(“insert into t_menu(title,comment) values(’”,A2,"’,’",B2,"’);")将表格内容复制出来显示如下:insert into t_menu(title,comment) values(‘标题’,‘内容’);...

2020-12-17 14:09:42 364

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除