自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 golang基础

定义type 类型名 struct {字段名 字段类型字段名 字段类型… }其中1.类型名:标识自定义结构体的名称,在同一个包内不能重复。2.字段名:表示结构体字段名。结构体中的字段名必须唯一。3.字段类型:表示结构体字段的具体类型。只有当结构体实例化时,才会真正地分配内存。也就是必须实例化后才能使用结构体的字段。//结构体的定义:使用type和struct关键字age int32//常用的结构体实例化方式一:使用键值对初始化age: 19,//实例化方式二。

2024-06-10 21:11:49 742

原创 RabbitMQ基础入门

建立connection创建channel利用channel声明队列利用channel向队列发送消息建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列。

2024-05-08 17:08:24 1040

原创 Spring Security + JWT 实现登录认证和权限控制

自定义类实现接口,用户发起登录请求后会执行方法来进行登录验证。该方法会返回一个类型的结果,该类的父类实现了接口,用来封装用户的认证信息。/*** 自定义登录验证逻辑*/@Component@Autowired@Override//登录请求中的账号//登录密码throw new UsernameNotFoundException("账号不存在!");//这里直接用了MD5加密,没用Security中的passwordEncoderif (!

2024-05-06 21:45:18 1314 2

原创 C语言指针、数组学习记录

一般形式为:类型名指针变量名int *p1;就是声明了一个指向整型数据*的指针变量p1。其中int表示该指针变量的基类型,他用来指定该指针变量可以指向的变量的类型。比如int *p1;这里的指针变量p,就只能指向int类型的变量,而不能是char类型的。原因如下:不同类型的变量在内存中分配的空间大小是不同的,int是4字节,char是1字节。指针变量指向的地址表示的是该变量的存储单元的首地址,比如上面提到的变量i。

2024-03-08 18:06:24 698

原创 网关配置快速入门

网关服务中新建配置类。

2024-01-24 10:34:26 472

原创 阿里云对象存储(OSS)服务

在 gulimall-product 的配置文件中加上。版本管理为:4.5.0,会导致版本冲突。,单独引入 4.5.0 版本的。是 3.4.0 版本,但是。

2024-01-24 10:27:33 657

原创 nacos配置中心

Nacos 中的某个配置集的 ID。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

2024-01-20 11:14:08 846

原创 Linux学习记录(二)

在Linux中每个用户必须属于一个组,不能独立于组外;在Linux中每个文件有所有者、所在组、其他组的概念。一般来说谁创建了文件,谁就是文件的所有者,用户所在组就是该文件的所在组。查看文件的所有者ls -ahl修改文件的所有者chown 用户名 文件名chown 用户名:组名 文件/目录名加上选项-R,会修改某目录及其所有子目录和文件的所有者修改文件的所在组chgrp 组名 文件/目录名加上选项-R,会修改某目录及其所有子目录和文件的所在组,如。

2024-01-09 15:37:17 845

原创 Linux实用指令篇

locate指令利用事先建立的系统中所有文件名称及路径的locate数据库,实现快速定位给定的文件,无需遍历整个文件系统,查询速度较快,为了保证查询结果的准确度,管理员必须定期更新locate时刻。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。在正常模式下输入:,即可进入该模式,在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作。

2024-01-02 22:28:24 1013

原创 数据结构常见算法总结

也可以求节点所在层数借助队列对二叉树进行层次遍历,当每层的最后一个节点的左右子树(若存在)入队之后,记录队尾结点rear的位置,即为下一层的最后一个节点,并将树的层数+1return 0;BiNode *p;//标记队尾结点= rear){/**找到所求节点,直接返回层数*/=NULL)=NULL)//标记队尾结点level++;

2023-12-27 11:10:21 1074

原创 微服务架构——SpringCloud快速入门

- SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。- SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验:

2023-04-09 21:04:28 1270 1

原创 Netty的组件和设计

这些关系是:一个给定的I/O操作都是由相同的执行的,消除了对于同步的需要Netty中所有的I/O操作都是异步的,我们需要在方法执行之后的某个时间点确定其结果,对此Netty提供了接口,他的方法注册了一个,可以实现监听,以便在某个操作完成时(无论是否成功)得到通知。当这些状态发生改变时,将会生成对应的事件。这些事件将会被转发给中的,其可以随后对它们做出响应。从应用程序开发人员的角度来看,Netty的主要组件是,它充当了所有处理入站和出站数据的应用程序逻辑的容器。下表列出了接口定义的生命周期操作,在被添加到中或

2023-03-30 17:51:46 162

原创 SpringBoot 静态资源访问

问题1:在项目B中上传资源,显示上传成功,并且文件已经成功保存在对应路径下,但是点击文件链接,404无法访问。场景:项目B是后台管理系统,编辑时某条数据时可以给它添加附件资源,保存在。路径下,项目A是系统前台,主要是展示相关数据,并实现业务。问题2:前台访问项目B上传的文件。

2023-02-19 14:28:01 191

原创 postgresSQL查询返回 integer[] 在Java中的接收

用作SQL中varchar,integer,boolean, numeric 与 Java中的String,Integer,Boolean,Double之间的类型转换,不然Java接收不到各类型的数组。inchargeId字段需要接收一个id数组,一直接收不到,估计是sql类型和jdbctype没有对应上,所以尝试用typehandler来解决。

2023-02-03 15:35:23 494

原创 微服务架构——SpringCloud理论学习

计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多。通过多台计算机完成同一个工作,以达到更高的效率两台或多台计算机工作内容、过程完全一样。如果一台死机,其他的也不会有任何影响。

2023-01-01 19:22:10 294

原创 SLF4j的介绍与使用+SpringBoot日志配置

slf4j,simple logging facade for java的缩写,翻译为java的简单日志外观。slf4j(simple logging facade for java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),也可以理解为一个接口,它是一种适配器的实现方式,它本身不具有输出日志的功能,输出日志还是由log4j、logback等这样的日志组件来进行输出。

2022-10-21 11:51:39 11776

原创 SpringBoot项目使用JWT+拦截器实现token验证

上述流程当中token的具体实现方式为JWT,其全称是,官网地址:https://jwt.io/就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。通俗地说,JWT的本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个JWT token,并且这个JWT token带有签名信息,接收后可以校验是否被篡改,所以可以用于在各方之间安全地将信息作为Json对象传输。

2022-10-18 09:33:01 10739 9

原创 excel文件合并单元格

excel文件合并单元格。

2022-10-14 17:53:14 221

原创 SpringBatch 批处理框架

SpringBatch使用场景一个典型的批处理程序:从数据库、文件或队列中读取大量记录。以某种方式处理数据。以修改后的形式写回数据。Spring Batch 自动化了这个基本的批处理迭代,提供了将类似事务作为一组处理的能力,通常是在离线环境中,无需任何用户交互。

2022-09-24 16:45:13 1498

原创 Linux——vim编辑器常用命令

vim两种操作模式:普通模式,插入模式,用以上命令打开文件默认进入普通模式命令行模式普通模式下按下**冒号建(😃**进入命令行模式,可使用以下命令:插入模式在普通模式下按下i键就可以进入插入模式。要退出插入模式回到普通模式,按下键盘上的ESC键即可。复制和粘贴可视模式复制有时候不清楚自己到底复制了什么内容,可以用可视模式来解决该问题。可视模式会在你移动光标时高亮显示文本。要进入可视模式,应移动光标到要开始复制的位置,并按下v键。下一步,移动光标来要复制的文本。...

2022-06-29 10:33:27 3871

原创 SpringBoot + thymeleaf 集成前端项目

SpringBoot 项目集成前端项目项目结构其中static是中是可以直接访问的静态资源,templates中存放的是.html文件。Thymeleaf添加必要依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

2022-04-15 17:01:45 2747

原创 一些springboot + thymeleaf + boostrap开发遇到的问题

一些springboot + thymeleaf + boostrap开发遇到的问题插入、修改时:在form表单中,input不能使用th:value="*{orgCode}",会发生传值失败的情况,要使用th:field="*{orgCode}"<form action="#" th:action="@{/policy/publish}" th:object="${policyPublishRequestDto}" th:method="post"> <br>

2022-04-15 09:15:55 190

原创 2022-04-08-PostGIS

PostGISOGC Geometry几何类型Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon、GeometryCollectionWKT 和 WKBOGC SFA 规范定义了两种用于表示几何值的格式:WKT 和 WKB,他们都包含有关对象的类型和坐标信息WKT 提供了空间数据的标准文本表示。WKT 的输入和输出由 ST_AsText 和 ST_GeomFromText 函数提供:INSERT INTO geotab

2022-04-08 17:40:28 246

原创 2022-04-07-Docker

docker --helpUsage: docker [OPTIONS] COMMANDA self-sufficient runtime for containersOptions: --config string Location of client config files (default "C:\\Users\\admin\\.docker") -c, --context string Name o

2022-04-08 17:39:06 734

原创 SSM框架整合

原始方式整合创建Maven工程 -->导入依赖 -->编写实体类 -->编写Mapper接口 -->编写Service接口 -->编写Service接口实现 -->编写Controller -->编写相应配置文件 -->Spring配置文件:applicationContext.xml组件扫描,扫描service和mapperSpringMVC配置文件:spring-mvc.xml组件扫描,扫描controller配置mv

2022-04-01 23:57:46 806

原创 Spring的事务控制

Spring的事务控制编程式事务控制相关对象PlatformTransactionManagerPlatformTransactionManager 接口是Spring的事务管理器,它里面提供了我们常用的操作事务的方法。注意:PlatformTransactionManager 是接口类型,不同的Dao层技术则有不同的实现类,例如:Dao层技术是jdbc或mybatis时:org.springframework.jdbc.datasource.DataSourceTransactionManage

2022-03-27 18:19:26 368

原创 Spring核心——AOP

什么是AOP?AOP是Aspect Oriented Programming的缩写,意思是面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的一种延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP的作用及其优势作用:在运行期间,在不修改源码的情况下对方法进行功能增强。

2022-03-27 12:31:53 213

原创 SpringMVC异常处理机制

异常处理思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。系统的Dao、Service、Controller出现异常都通过throws Exception向上抛出,最后由SpringMVC前端控制器交由异常处理器进行异常处理,如下图:异常处理两种方式使用SpringMVC提供的简单异常处理器SimpleMappingExceptionResolver实现Spring的异常处理

2022-03-27 12:29:28 226

原创 SpringMVC拦截器

SpringMVC拦截器拦截器(interceptor)的作用SpringMVC的拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。将拦截器按一定的顺序连接成一条链,这条链称为拦截器(Interceptor Chain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按之前定义的顺序被调用。拦截器也是AOP思想的具体实现。拦截器和过滤器的区别拦截器快速入门自定义拦截器的步骤:创建拦截器实现HandlerInterceptor接口packa

2022-03-25 19:51:48 582

原创 MySQL进阶 | 码字中……

存储引擎MySQL体系结构连接层最上层是一些客户端和连接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全连接的每个客户端验证它所具有的操作权限。服务层第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化,部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。引擎层存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API和存储引擎进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己

2022-03-22 16:54:44 1651

原创 突破Java基本功——01数组与内存控制

数组与内存控制使用Java数组之前必须先对数组对象进行初始化。当数组的所有元素都被分配了合适的内存空间,并指定了初始值时,数组初始化完成。程序以后将不能重新改变数组对象在内存中的位置和大小。从用法角度来看,数组元素相当于普通变量,程序既可以把数组元素的值赋给普通变量,也可以把普通元素的值赋给数组元素。数组初始化Java语言的数组是引用类型的变量,具有Java独有的特性。Java数组是静态的Java语言是典型的静态语言,因此Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可

2022-03-19 11:16:29 547

原创 MySQL基础

MySQL数据类型数值类型字符串类型日期类型通用语法及分类DDLDDL——数据库操作查询-- 查询所有数据库SHOW DATABASES;-- 查询当前使用的数据库SELECT DATABASE();创建CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];删除DROP DATABASE [IF EXISTS] 数据库名;使用USE 数据库名;

2022-03-17 22:34:46 814

原创 SpringMVC获得请求数据

SpringMVC获得请求数据获得请求参数客户端请求参数的格式是:name=value&name=value…服务端要获得请求参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数:基本类型参数POJO类型参数数组类型参数集合类型参数获得基本类型参数Controller中的业务方法的参数苏名称要与请求参数的name一致,参数值将会自动映射匹配/*SpringMVC获得请求参数*///获得基本类型参数@RequestMapping("/quick

2022-03-06 00:31:10 156

原创 SpringMVC的数据响应方式

SpringMVC的数据响应方式页面跳转1.直接返回字符串形式此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转返回带有前缀的字符串:转发:forward:/WEB-INF/views/index.jsp重定向:redirect:/index.jsp2.通过ModelAndView对象返回package com.study.controller;import org.springframework.stereotype.Controller;import org.s

2022-03-05 14:24:39 497

原创 SpringMVC——快速入门、组件解析

SpringMVC简介SpringMVC概述SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow中。SpringMVC已经成为目前最主流的MVC框架之一,并且随着Spring3.0的发布,全面超越Struts2,成为最优秀的MVC框架。他通过一套注解,让一个简单的Java类成为处理请求的控制器,而无需实现任何接口。同时他还支持RESTful编程风格的请求。SpringMVC

2022-03-05 14:21:03 241

原创 Spring快速入门——Spring集成Web环境

基本三层架构环境搭建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://mav

2022-03-03 01:15:40 353

原创 Spring快速入门——配置数据源 & 注解开发

Spring配置数据源数据源(连接池)的作用数据源(连接池)是提高程序性能而出现的事先实例化数据源,初始化部分连接资源使用连接资源时从数据源中获取使用完毕后将连接资源归还给数据源常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等数据源的开发步骤导入数据源的坐标和数据库驱动坐标创建数据源对象设置数据源的基本连接数据使用数据源获取连接资源和归还连接资源数据源的手动创建import com.alibaba.druid.pool.DruidDataSource;

2022-03-03 01:13:57 176

原创 Spring快速入门——简介、优势、体系结构、配置文件、相关API

Spring简介Spring是分层的Java SE/EE应用full-stack(全栈:各层都有解决方案)轻量级开源框架,以IoC(Inverse Of Control:反转控制:反转bean的创建权)和AOP(Aspect Oriented Programming:面向切面编程)为内核。提供了展示层SpringMVC和持久层Spring JDBCTemplate 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架。

2022-03-03 01:11:46 86

原创 JavaWeb核心知识

JavaWeb简介Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站。JavaWeb:用Java技术来解决相关web互联网领域的技术栈。B/S架构:Browser/Server(浏览器/服务器)架构模式。其特点是:客户端只需要浏览器,应用程序的逻辑和数据都从存储在服务端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。好处:易于维护升级。服务端升级后,客户端无需任何部署就能使用到最新的版本静态资源:HTML、css、JavaScript、

2022-02-27 16:11:22 778

原创 浅学一下MyBatis——快速入门

MyBatis简介MyBatis是一款优秀的持久层框架,用于简化JDBC开发。持久层负责将数据保存到数据库的那一层代码JavaEE三层架构:表现层(页面展示)、业务层(逻辑处理)、持久层(数据持久化)。框架框架就是一个半成品的软件,是一套可重用的、通用的、软件基础代码模型在框架的基础之上构建软件编写更加高效、规范、通用、可拓展JDBC缺点硬编码(将一些信息写死到java代码里面了,比如数据库密码,查询语句等)注册驱动,获取连接时SQL语句操作繁琐手动设置参数手动

2022-02-12 13:29:45 526

空空如也

空空如也

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

TA关注的人

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