- 博客(82)
- 资源 (12)
- 收藏
- 关注
原创 Linux文本处理三剑客
grep awk sed是Linux下文本处理常用的命令,这篇笔记就是详细阐述文本三剑客的用法。功能概述:概述grep:文本过滤器,仅仅是过滤文本,没有编辑功能sed:Stream EDitor,流编辑器,可以按照特定规则按行编辑数据(sed是不处理原数据的,编辑完的行默认是打印到屏幕,所以sed运行完原文件内容是不变的)awk:报告生成器,可以根据特定字符分割行(如空格、冒号、顿号等),然后按照你设定的格式显示。(如果对处理的数据需要生成报告之类的信息,或者你处理的数据是按列进行处
2022-03-29 11:36:30 2454
原创 springboot利用maven profiles设置多环境
在实际项目中通常要设置好几种环境(例如:开发dev,测试test,生产pro) 的配置文件实现多环境两种方式:1、 springboot profile2、 maven profile一、springboot profile一个主application.properties,里面配置了工程运行环境如果需要创建自定义的的properties文件时,可以用application-xxx.properties的命名方式: application-dev.properties applic
2021-07-28 14:16:48 787
原创 (一)SpringCloudAlibaba之Nacos实现注册中心
Nacos主要用于注册中心和配置中心,本文介绍如何实现注册中心。(类似于Eureka)Nacos官方中文文档:https://nacos.io/zh-cn/docs/what-is-nacos.htmlspringcloud alibaba与springboot版本对照(截止2021.6.16):版本对照官方参考地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E.
2021-06-24 11:40:56 308 1
原创 springboot项目中利用@WebFilter注解和@Bean配置类两种方式实现Filter过滤器
过滤器(Filter)过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理。通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理springboot项目中实现过滤器的两种方式:1.注解 @WebFilter2.配置类本项目目标:过滤器对于前端模拟登录的请求,判断其name参数是user或者admin,则登陆成功。第一种:注解 @WebFilter实现过滤器项目结构如图:(先不关注MyFilterConfig类,这是配置类
2021-06-09 17:04:33 5417 27
原创 kafka基本概念、springboot整合kafka、kafka常见问题
kafka基本概念、springboot整合kafka、kafka常见问题
2023-01-30 09:09:39 1443 1
原创 css基本知识
CSS的使用:CSS与html三种结合方式1.内联样式2.内部样式3.外部样式<link rel="stylesheet" href="css/a.css">三种基本选择器1.元素选择器 元素{ }2.id选择器 #id值{ }3.类选择器 .类名{ }...
2021-08-12 10:13:41 485
原创 spring封装VerifyCodeUtil工具类,生成图片验证码
登录页面经常需要生成图片验证码本文提供一个封装好的验证码生成工具类,可以直接调用生成图片验证码,返回BASE64编码的图片字节字符串。项目结构:下面是实战代码:第一步:新建工程,引入springboot依赖,创建启动类,创建controller接口VerifyCodeController.class:第二步:导入工具类package com.tzq.test.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;i
2021-06-25 10:43:51 1148 4
原创 maven工程隐藏.idea文件夹和.iml文件
创建一个maven工程,发现在目录结构中产生了两个不一样的东西——.iml文件和.idea文件夹iml文件是 intellij idea的工程配置文件,里面是当前project的一些配置信息。.Idea文件夹存放项目的配置信息,包括历史记录,版本控制信息等。开发中不需要操作这俩文件,看着难受可以将它们隐藏:打开Settings->Editor中的File Types->在Ignore files and folders中新增:.idea;*.iml;已经把.idea文件夹和
2021-06-24 09:57:20 1319 3
原创 stopWatch计时
StopWatch是位于org.springframework.util包下的一个工具类,通过它可方便的对程序部分代码进行计时(ms级别),适用于同步单线程代码块。代码: public void test() throws Exception{ StopWatch stopWatch = new StopWatch("记录任务耗费时间"); stopWatch.start("业务一"); //doSomeThing one Thre
2021-06-17 16:50:36 386
原创 Spring利用@ConfigurationProperties注解实现类对象从配置文件读取值
类前面加注解@ConfigurationProperties配置文件参数前缀要是刚刚设定的prefix
2021-06-17 16:30:29 490
原创 springboot项目利用easypoi导出excel表
本文介绍两种方式导出excel表,实现前端调用接口下载excel表第一种:根据实体类entity导出数据库中的记录,生成excel第二种:自定义格式,定义数据引入easypoi-spring-boot-starter依赖springboot项目中easypoi依赖 <!--easypoi依赖--> <dependency> <groupId>cn.afterturn</groupId> .
2021-06-17 10:52:35 427 1
原创 Redis的increment方法实现 值 的递增
increment本质用了redis 的incr递增函数,详细参考:Redis - increment 递增方法 | 处理防重复和并发问题Redis - increment 递增方法 | 处理防重复和并发问题
2021-06-17 10:24:24 3102 1
原创 java原生JDBC连接mysql数据库
持久层框架盛行的年代,有时候用生jdbc连接并操作数据库也显得很有必要。本文在idea中演示用jdbc连接mysql数据。idea中手动拉入mysq驱动jar包jdbc操作数据库,主要流程为:(1)创建connection连接(2)准备一条sql语句,利用PreparedStatement对sql进行预编译,获取执行sql的对象(3)执行sql,返回结果集(本文以查询为例)(4)关闭连接其中,第二步,获取执行sql的对象有两种方法,推荐PreparedStatement方法:因为 方法.
2021-06-16 09:02:43 1695 4
原创 Mybaitis框架使用PageHelper插件实现物理分页查询
PageHelper 是 MyBatis框架的 分页插件优点:支持常见的 12 种数据库。Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等物理分页物理分页与逻辑分页的区别:逻辑分页:通过SQL将所有数据全部查询出来,然后通过结果集ResultSets进行类似offset的分页效果,实际上所有的结果已经查询出来了只是显示出来部分而已,常见的是mybatis的RowBounds,作用范围较小,只使用于数据量小变化浮动小的情况。.
2021-06-11 10:46:23 2316 49
原创 mybatis控制台打印sql执行预计和结果
mybatis控制台打印执行的sql语句和结果:mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImplmybatis-plus:mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
2021-06-11 09:05:45 2122 2
原创 HttpServletRequest对象方法的用法
Servlet的运行过程对于用户来讲,在客户端发起一次请求(比如说查询某类商品),到页面上显示出结果(比如查询到了n件商品,页面上显示了第一页的内容),对于用户来讲就是一次点击鼠标左键,但是在服务器,要做的可远不止一次点击这么简单,下面然我们来一起看下服务器都做了哪些操作。 首先,我们来看下面这张图: 从图中,我们可以看到,客户端的网络请求首先会被Http服务器接收(也叫Web服务器、web容器,其需要提供web应用运行所需的环境,接收客户端的Http请求);Web服务器根据请求的路径将请
2021-06-09 15:13:54 2576 3
原创 SpringBoot项目中通过注解实现Aop编程实战
SpringBoot项目中通过注解实现Aop编程实战。项目结构如图:1、新建maven工程testAspect然后在pom文件中引入aop依赖和其他基础依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </depende
2021-06-09 10:36:13 2322 2
原创 java自定义注解@annotation
annotation的资源都在java.lang包里面,也就是jdk自带的1、java新建类的时候,选择@Annotation2、元注解元注解,就是可以注在自定义注解上面的注解,有如下四种:@Target({ ElementType.METHOD, ElementType.TYPE })@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited...
2021-06-08 16:36:58 2240
原创 (五)SpringCloud代码实战之zuul网关
本文任务:1、搭建zuul网关2、nginx+zuul,可以实现网关集群本文是在前文搭建的项目基础上构建的:(一)springcloud实战代码之eureka注册中心(二)springcloud实战之config配置中心(三)SpringCloud实战之openfeign服务调用(四)SpringCloud代码实战之hystrix熔断器本文新建项目结构:模块zuulServer-8060,启动类ZuulApplication,配置文件application.yml,过滤器类MyZuul.
2021-06-08 11:51:26 1436
原创 jar包部署到linux服务器上,并在后台运行(符启动脚本)
SpringBoot项目做完之后,打jar包,部署到服务器上打包Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar文件所以在pom文件中加入: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId>
2021-06-04 16:18:40 5798 2
原创 Spring Boot Admin实战代码
SpringBoot Admin服务监控与告警。这篇教程内容:1、微服务项目,配合Eureka注册中心,监控在注册中心上面注册的所有服务2、集成spring security,Admin的登录界面一、Spring Boot Admin服务端搭建SpringBoot版本:2.3.10.RELEASESpringBoot Admin版本:2.3.1SpringCloud版本:Hoxton.SR11JDK版本:jdk1.8本项目在前文搭建的环境的基础上,已经构建好了Euraka注册中心、Co
2021-05-28 17:00:48 4335 2
原创 (四)SpringCloud代码实战之hystrix熔断器
分布式微服务,在服务调用的时候可能回因为网络故障以及其他原因,造成服务无法调用。会导致该线程无法关闭,一直卡在这里,等到卡住的线程越来越多,服务器资源被耗尽,就会出现服务宕机,一连串相关的服务宕机(雪崩效应)hystrix可以解决这个问题!!!下面教程是在用openfeign服务调用下使用hystrix熔断器,本文的教程在前文openfeign的基础上:(三)SpringCloud实战之openfeign服务调用一、相关依赖openfeign中集成了ribbon和hystrix。这里不用专门引入.
2021-05-27 14:04:40 4131
原创 (三)SpringCloud实战之openfeign服务调用
openfeignopenfeign 是 spring cloud 在 feign 的基础上支持 spring mvc注解 ,如 @RequestMapping 等等,OpenFeign 的@FeignClient 可以解析Spring MVC 的 @RequestMapping注解下的接口,并通过动态代理的方式生产实现类 ,实现类中做负载均衡并且 低耦合调用其他服务。推荐使用openfeign...
2021-05-27 09:58:25 5827 2
原创 SpringCloud之config配置中心(gitee版)
在上一篇(二)springcloud实战之config配置中心文章中,我是以本地存储配置文件来示例的,在实际项目中,分布式配置中心都是在git或者svn等上面的。下面来示范配置文件存储在gitee上:一、创建gitee仓库和所需配置文件:第一步:新建仓库第二步:第三步:初始化README文件第四步:鼠标右键删除这两个README文件第五步:新建所需配置文件第六步:然后提交,提交完回到这个仓库第七步:复制仓库http链接到这里,gitee远程配置中心已经搭建好了!!!二、
2021-05-26 15:15:18 7792 3
原创 (二)springcloud实战之config配置中心
本项目中:jdk版本:jdk1.8springboot版本:2.3.10.RELEASEspringcloud版本:Hoxton.SR11一、项目结构父工程父工程下的config-center-8010(配置中心服务端)父工程下的student-service-8011(配置中心客户端)二、config配置中心服务端2.1、引入服务端依赖<!-- 配置中心服务端--><!-- https://mvnrepository.com/artifact/org.spri.
2021-05-26 14:14:45 4786 1
原创 SpringBoot之Actuator入门
SpringBoot提供了生产级的监控功能Actuator,可以对程序内部运行情况进行监控,比如线程信息,bean信息,配置,内存使用情况,健康状况等。Actuator的监控结果可以通过HTTP、远程shell和JMX获得,一般我们直接通过HTTP直接访问。在Actuator中,每个监控功能称为端点(endpoint)。本文接下来介绍如何在SpringBoot中启用Actuator,以及如何简单配置Actuator。准备工作:本项目SpringBoot版本:2.3.10.RELEASE一个可运行的s
2021-05-26 10:40:29 4546 2
原创 (一)springcloud实战代码之eureka注册中心
一、项目结构1、一个主程序:myspringcloud2、主程序下一个server模块:eurekaServer-8761,注册中心3、再新建一个client模块:student-service-8011,负责数据库中学生表的增删改查。需要注册到eureka注册中心本项目中版本:springboot版本:2.3.10.RELEASEspringcloud版本:Hoxton.SR11二、相关依赖1、主程序myspringcloud依赖:<?xml version="1.0" en
2021-05-25 16:08:03 4521 1
原创 SpringBoot整合Mongodb数据库
一、Mongodb数据库简介优点:1、MongoDB是一个面向文档的数据库,直接存取BSON(类似于JSON格式,Binary Json,二进制json文件),这意味着MongoDB更加灵活,因为可以在文档中直接插入数组之类的复杂数据类型,并且文档的key和value不是固定的数据类型和大小,2、它是非关系型数据库,在使用MongoDB时无须预定义关系型数据库中的”表”等数据库对象,设计数据库将变得非常方便,可以大大地提升开发进度。缺点:不支持事务,银行等系统是万万不能使用的二、依赖和配置
2021-05-21 15:11:18 3800 3
原创 MyBatis查询结果resultType
前言mapper映射xml文件基本模板:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.tzq.student.dto.StudentDto"></mappe
2021-05-19 09:59:32 1551 1
原创 mysql版本8.0以后驱动需要加时区
mysql的版本在8.0以后,数据库驱动配置需要加时区spring.datasource.url=jdbc:mysql://8.136.210.255:3306/tzq?serverTimezone=GMT%2B8其中?serverTimezone=GMT%2B8就是加的时区配置信息:# mysql数据库连接spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql:
2021-05-18 10:59:25 4995
原创 SpringBoot整合redis
一、Redis简介Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。优势:读写速度非常快;因为对redis的操作完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap 的优势就是查找和操作的时间复杂度都是O(1);二、Redis整合到Springboot项目2.1、添加maven依赖spring-boot-starter-data-redis
2021-05-14 17:25:54 1083 8
原创 SpringBoot项目中Redis的配置类
在SpringBoot项目中使用redistemplate,需要手动配置序列化方式(个人理解为编码方式),如果不配置,在redis中存的key,value可能就是16进制乱码:因为redis默认使用JdkSerializationRedisSerializer(jdk自己的序列化)。所以需要手动添加配置类:package com.tzq.test.config;import org.springframework.context.annotation.Bean;import org.sprin
2021-05-14 14:06:55 1829 1
原创 fastjson常用方法
1、JSON关于:JSON形式与语法,在此不再赘述参考这篇:https://blog.csdn.net/srj1095530512/article/details/825297592、FastJson常用方法fastjson是alibaba开发的一款专门用于Java开发的工具包。可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。除了这个fastjson以外,还有Google开发的Gson包,其他形式的如n
2021-04-27 14:03:18 4585
原创 RabbitMq手动消息确认时channel.basicReject()放回队列问题
RabbitMq手动消息确认时:如果用://第二个参数,true会重新放回队列,所以需要自己根据业务逻辑判断什么时候使用拒绝channel.basicReject(deliveryTag, true);重新放回队列的消息,会放在队列末尾,其DeliveryTag也是最后面的依次递增重新排号eg:队列中6个消息,其DeliveryTag会从1开始依次递增:1、2、3、4、5、6如果1和2被Reject回消息队列了,其它都没有手动确认那么再次消费队列就会发现,只能消费到7、8号消息,且消息与原
2021-04-27 09:17:30 6469
原创 springboot中rabbitmq同一个消费者类可同时监听多个队列以及可使用方法重载消费队列中不同类型数据
1、概述SpringBoot项目中RabbitMq的使用可参考这篇博客:https://blog.csdn.net/qq_35387940/article/details/100514134写的非常的细致。本文着重讲解:同一个消费者类可同时监听消费多个队列同一个消费者类中可使用方法重载来实现消费队列中不同类型的数据2、代码示例第一步:创建springboot项目,引入依赖,添加rabbitmq相关配置,具体步骤参考文首的博客链接。第二步:创建rabbitmq配置类:Rabb
2021-04-26 13:44:09 9895 7
原创 Mybatis和Mybaits-plus在springboot项目中使用的区别
1、概念MyBatis 是一款优秀的持久层框架。它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
2021-04-23 11:55:57 3337
09.【继承、super、this、抽象类】.zip
2020-03-07
08.【String类、static、Arrays类、Math类】.zip
2020-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人