自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【中间件】ElasticSearch简介和基本操作

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,支持各种数据类型,包括文本、数字、地理、结构化、非结构化,可以让你存储所有类型的数据,能够解决不断涌现出的各种用例。其构成如下:说明:1、Elasticsearch由索引(Index)、类型(Type)、文档(Document)构成。index相当于数据库,类型相当于数据表,文档相当于表中数据,只是该数据是json字符串格式,每个文档(json字符串)均包含一个id。2、7版本以后已经移除了类型(Type)

2024-04-13 18:19:17 721 1

原创 【通用知识】HttpServletRequest接口方法

说明:1、Headers和Payload为前端传给后端的请求头和请求参数信息。Preview和Response为后端返回的数据。2、Payload标签内为前端传给后端的参数。其中,Query String Parameters中为问号传参,对应后端@RequestParam方式;Request Payload为form-data传参,对应后端@RequestBody方式。概述:HttpServletRequest接口主要用于获取前端传过来的数据(包括请求头Headers和请求参数Payload)。

2024-03-18 22:06:19 577

原创 【通用技术】自定义注解完成303校验

使用场景:当我们需要对实体类字段进行303校验,但是现有注解无法满足我们的个性化校验时,可以新建注解,完成自定义校验。

2024-02-05 15:44:11 402

原创 【通用技术】JSR303校验及统一异常处理

使用场景:原始303校验失败后,返回的信息可能不符合我们期望形式,在这种情况下,可自定义异常返回体。具体步骤:1、在上述Controller代码中的实体类参数后,添加对象,该类中的方法可以获取303校验失败的具体信息。2、通过对象获取想要的信息后,将其传入到自定义的返回体中,就可以按照预期返回体结构将303校验信息返回给前端了。

2024-02-04 16:49:03 447

原创 【通用技术】阿里云OSS对象存储

阿里云对象存储

2024-02-02 17:21:39 710

原创 【Spring】注解

**需求:定义一个注解,用于比较注解中某个参数值是否和修饰的方法的参数值相等。**步骤:1. 定义一个注解名为ValidQuery@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Inheritedpublic @interface ValidQuery { String name();}说明:a)@Target(ElementType.METHOD):注解能够使用的地方,此处为方法上。一般使用的地方

2022-02-08 18:36:52 610

原创 【SpringCloud】nacos服务配置之命名空间namespace

本文主要讲解nacos服务配置的命名空间。我们可以通过命名空间,分组,激活环境配置来获取nacos中对应名称空间、分组、激活环境对应文件信息。例如:我们要创建多个名称空间,新创建的名称空间下没有配置信息,我们需要创建不同分组的配置信息,以便于获取这些信息。具体步骤如下:在http://localhost:8848/nacos中新建命名空间:创建配置信息说明:在dev命名空间中创建不同组别的配置信息。查看这些不同组别的配置信息导包(在模块3377中操作)<depende

2021-08-01 16:19:59 20240

原创 【SpringCloud】nacos-服务配置

nacos服务配置与bus一样,bus可以从github或者gitee中获取文件信息。而nacos则可以从nacos配置管理中创建配置,并获取其配置信息。nacos服务配置具体步骤如下:在nacos界面配置团里中创建配置登录http://localhost:8848/nacos,点击新建按钮,进入创建界面。注意:Data Id是有命名规范的,其规范参照nacos官网,同时,配置内容中config:后面必须打上一个空格,不然配置模块无法启动!!后缀必须是yaml,切记不能是yml,不然配置模块也不能正常

2021-08-01 15:52:19 869 2

原创 【SpringCloud】nacos-服务注册与发现

本文主要对Provider端的两个模块9001和9002注册进nacos。与Eureka和Consul一样,nacos有服务注册功能,其模型图如下图所示:将9001和9002注册进nacos具体步骤如下:说明:所有的导包和配置主程序类,业务类,官网都有示例,粘贴下来即可。安装并打开nacos打开nacos:在下载的安装包中,打开startup.cmd,会弹出命令框,在浏览器中输入http://localhost:8848/nacos,即可进入nacos可视化界面,在这个界面可以查看注册进来的

2021-07-31 21:41:09 245 1

原创 【SpringCloud】zipkin链路追踪

综述:zipkin是一种链路追踪机制。例如我们的Consumer端模块调用Provider端模块,模块与模块间的调用我们可以用zipkin来追踪,可以图形化方式显示那个模块调用了哪个模块。配置步骤说明:这里使用Consumer端80来调用Provider端8001为例。(一)配置8001导包<dependency> <groupId>org.springframework.cloud</groupId> &lt

2021-07-31 17:55:25 144

原创 【SpringCloud】Stream中消息持久化

Consumer中有模块8802和8803,并且对他们进行了分组,现在,我们不对8802进行分组(即在配置文件中将group属性去掉),8803依然保持分组(配置文件中group:atguiguA),重新启动8801(向rabbitmq中发送消息),重启8802和8803,我们将看到8802不会接收到8801发送给rabbitmq的消息,而8803还会接收到rabbitmq中的消息,这就是消息的持久化。8801:8803:重启后依然能就收消息,8802则不能!...

2021-07-31 16:38:37 375

原创 【SpringCloud】Stream分组

上两篇文章中,介绍了Provider端利用消息管道向rabbitmq中发送消息,Consumer端监听rabbitmq中消息,但是如果Consumer端有两个模块,Stream默认这两个模块属于不同分组,那么不同分组可以重复监听rabbitmq中的消息,效果如图:8801(Provider端消息发送)8802(Consumer端消息接收)8803(Consumer端消息接收)这里可以看到,8801向rabbitmq中发送了两个消息,由于我们没有在8802和8803配置文件中添加分组,系统默认为

2021-07-31 16:25:37 350

原创 【SpringCloud】利用stream技术Consumer端接收Provider端向rabbitmq发送的消息

运行模型如图所示:具体操作步骤说明:上篇文章Provider端的8801端口已经成功向rabbitmq发送了消息,这里我们只需要从rabbitmq中获取已发送的消息即可。创建8802模块2. 导包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-rab

2021-07-31 14:54:16 170

原创 【SpringCloud】Provider端利用Stream向rabbitMQ发送消息

交互模型如图所示:Provider端中模块8801通过消息管道向rabbitmq发送消息步骤创建8801模块导包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-rabbit</artifactId></dependency>

2021-07-31 14:00:06 100

原创 【SpringCloud】config客户端配置

config_client通过配置进config_server来操作gitee上的文件config_client中模块3355配置如下:创建模块导包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId></de

2021-07-29 20:25:26 228

原创 【SpringCloud】Config-Server配置

配置目的:SpringCloud config通过Gitee获取配置信息配置步骤:hosts文件配置127.0.0.1 config-3344.com1. 在gitee上创建新仓库和3个文件2. 创建3344模块5. 导包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-conf

2021-07-29 15:24:53 246

原创 【SpringCloud】gateway网关配置

本文主要论述了gateway网关配置,将Provider中的模块接口配置进对应网关中,让Provider中的接口不被暴露出来,用户通过访问网关来访问微服务。网关与其他端的关系如图所示:配置步骤如下说明:本配置为将Provider中8001模块的某个接口配置进9527网关模块中!(一)通过application.yml文件将8001中接口配置进9527网关。1. 创建9527模块2. 导包(pom.xml)主要导入两个包:(1).9527模块注册进Eureka。<dependenc

2021-07-28 20:52:40 738

原创 【SpringCloud】Consumer中的模块调用Provider中的模块

Consumer和Provider以及服务注册之间的关系如图:Consumer通过RestTemplete和@FeignClient方式来调用Peovider中的模块。实际上,调用的是Provider中模块中的Controller中的各种接口!!利用RestTemplete来调用服务(Consumer模块操作)在80模块中创建配置类(ApplicationContextConfig)@Configurationpublic class ApplicationContextConfig {

2021-07-26 21:10:03 621

原创 【SpringCloud】服务注册——Consoul

将Consumer和Provider中的模块注册进ConsulConsul的功能和Eureka相同,都是进行服务注册的。(一) Provider中的模块注册进Consul安装并启动Consul在consul.exe文件中输入cmd,在弹出框中输入consul agent -dev来启动consul,成功后可输入http://localhost:8500/来访问Consul页面,在这个页面可以看到有多少模块注册进来了。创建Provider中的模块(cloud-providerconsul-pa

2021-07-26 19:51:37 1918

原创 【SpringCloud】服务注册——Eureka集群环境构建+consumer端注册+provider端注册

三者关系如图所示:说明:7001+7002为Eurake服务集群;80为服务调用者summer端;8001+8002为为服务提供者provider端。Eureka服务集群在注册的时候应该相互注册,相互守望。(一)Eureka服务集群环境构建和注册找到C:\Windows\System32\drivers\etc路径下的hosts文件,修改映射配置添加进hosts文件127.0.0.1 eureka7001.com127.0.0.1 eureka7002.com创建模块cloud-eu

2021-07-26 15:47:43 342

原创 【前端+后端】前后端分离之——前后端axios通信

前后端通过axios通信,使前端能通过axios来调用后端接口1. 前端安装axios在前端Terminal中输入npm install axios或者vue add axios(根据vue版本来选择)来安装axios2. 前端配置axios配置axios来调用后端接口。注意:可根据不同应用场景将配置代码添加到不同地方。这里以页面刷新就调用接口来举例。该配置写在前端中。mounted() { const _this = this axios.get('http://localhos

2021-07-06 12:41:24 3538

原创 【SpringBoot】MybatisPlus使用

MybatisPlus使用1. 导入依赖:官网地址——Mybatis-Plus官方网站2. Dao层接口继承BaseMapper类(泛型)@Mapperpublic interface userDaoMybatisPlus extends BaseMapper<userPojo> {}*注意:BaseMapper中的泛型对应的时Pojo,且这里面的名字也应该是表名,若数据库中的表名不是这个名字,那么需要在对应Pojo中使用@TableName(“表名”)。Pojo如下:@Co

2021-07-04 15:07:18 205

原创 【SpringBoot】application.properties或application.yml配置文件可配置内容

【SpringBoot】application.properties或application.yml配置文件可配置内容SpringBoot推荐使用yml配置文件来进行配置。注意:配置文件前缀必须是application开头,这是规定!!我们如何知道配置文件时可以配置哪些项呢?*首先找到autoconfigure包中META-INF/spring.factories。*该文件下包含大量配置类,这些类会根据编写的代码自动导入容器中。*点击进入到一个类中,可搜索ConfigurationPropert

2021-06-28 21:52:03 188

原创 【SSM配置文件】

(一)applicationContext.xml(Spring整合Dao层和Service层)<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.spring

2021-04-10 09:58:39 67

原创 【Spring-SpringMVC-MyBatis三大框架整合】SSM整合

SSM三大框架整合整体文件展示:(一) 导包在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/PO

2021-03-18 20:37:15 143 1

原创 【MyBatis】逆向工程——自动生成bean、接口、配口实现xml和数据库配置xml文件

手动连接操作数据库需要创建与数据库字段对应的bean组件,然后生成对数据库进行增删改查的接口,之后在类路径下创建接口实现xml文件和数据库配置的xml文件。整个过程过于繁琐,可以使用逆向工程自动生成这些文件。刚开始的文件包:具体步骤:1. 在工程中创建mbg.xml文件,用于写入逆行工程代码。其代码可参照2. 修改对应标签中的代码,使其自动生成bean,接口,配置等文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE gener

2021-03-16 17:15:59 416

原创 【MyBatis】自定义封装规则,使bean中属性和数据库列名相对应,解决某些列值无法查出的问题

建立了数据库表后,需要创建一个bean组件,在该组件中的属性要和数据表中的列相对应。Mybatis会自动根据属性名与列相对应,但是如果bean中的属性名和数据表列明无法匹配时,可以自定义映射规则,将属性名和列明一一对应,解决查询操作中某些字段值无法被查出的问题。说明:我这里是和数据库表中的列名是对应的,mybatis能自动将属性和列明对应起来,如果把属性名改成其他名字,则无法与列名对应,我们 就需要自定义映射规则,将两者对应起来。1. 在接口配置文件中建立自定义映射规则<!-- 自定义映射

2021-03-09 22:15:07 566 1

原创 【MyBatis】对MySQL数据库进行增删改查

利用MyBatis对MySQL进行增删改查工作(一)创建数据库表(二)创建一个bean组件,内部属性包含数据库表中的全部字段,用于存放数据库中的数据。package com.atguigu.bean;public class Cat { private Integer id; private String cName; private Integer cAge; private Integer cGender; public Cat() { super(); }

2021-03-09 21:42:38 216

原创 【MyBatis】hello world

将数据库中的数据查询出来,并展示在控制台。具体步骤如下:(一)在数据库中建立表t_employee(二)创建一个组件,用于存放数据库中的数据package com.atguigu.bean;/* * 用于封装表的数据 * */public class Employee { private Integer id; private String empName; private String email; private Integer gender; publi

2021-03-08 20:38:36 131 1

原创 【SpringMVC】拦截器(控制器拦截前端请求各阶段可执行操作)

拦截器:拦截前端页面发送的请求。在拦截请求之前,之后,请求执行完之后可进行操作。并且拦截器是一个接口,需要用一个类来实现该接口。创建拦截器步骤:创建一个组件(类),用于实现拦截器接口:public class MyFirstInterceptor implements HandlerInterceptor{ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Ob

2021-03-07 15:33:47 1091

原创 【SpringMVC】CRUD(增删改查)——查

查询员工列表(无数据库)**说明:**该操作不涉及数据库,是将数据存储在前端页面request域中,前端页面直接获取的。结构目录:步骤:前端页面(index.js)直接发送/emps请求。<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!-- 访问项目就要展示员工列表页面 --><jsp:forward page="/emps

2021-03-04 15:21:52 76

原创 【SpringMVC】forward转发和redirect重定向讲解

(一)Forwardforward:——表示直接转发,而不会进行拼串。用法1:在控制器组件(用于拦截前端请求)中添加以下方法:@RequestMapping(value="/handle01") public String handle01(){ System.out.println("handle01.."); return "forward:/hello.jsp"; }说明:控制器拦截前端handle01请求,拦截后执行注解下方的handle01()方法。forward:/hel

2021-03-03 15:48:29 293 1

原创 【SpringMVC】给前端页面的request、session域中存放数据

给前端页面request域中存放数据:**有Model、Map、ModelMap三种方法(一)Model方法给前端页面request域中存放数据在控制器组件(用于拦截前端页面发送的请求)中添加如下代码:@RequestMapping(value="/handle02") public String handle02(Model model){ model.addAttribute("msg", "你好坏!"); System.out.println("model的类型:"+mod

2021-03-01 16:28:14 2410 2

原创 【SpringMVC】前端页面只能发送“get”、“post”请求,无法发送“put”、“delete”请求的解决方法

前端页面默认只能发送“get”、“post”请求,无法发送“put”、“delete”,要解决这个问题有以下两个步骤:(一)在web.xml配置文件中配置SpringMVC提供的Filter:他可以把普通的请求转化为规定形式的请求。配置如下:<!-- 配置filter,以便于前端发送“delete”和“put”请求方法 --> <filter> <filter-name>HiddenHttpMethodFilter</filter-name>

2021-02-28 15:10:22 1598 1

原创 【SpringMVC】helloworld

SpringMVC的第一个程序——helloworld步骤:(一)导包(二)配置(三)测试准备工作:切换至“Java EE”模式(如果没有这个模式,可在搜索框中搜索)。(一)导包(二)配置功能说明:index界面中有一个超链接,点击超链接后会发送“hello”请求,点击超链接后会跳转至“success” 界面。新建index.jsp页面(在WebContent文件夹下新建“jsp file”):<%@ page language="java" contentTyp

2021-02-25 23:08:36 129

原创 【Spring-AOP】@Around环绕通知详解

简介@Around环绕通知:它集成了@Before、@AfterReturing、@AfterThrowing、@After四大通知。需要注意的是,他和其他四大通知注解最大的不同是需要手动进行接口内方法的反射后才能执行接口中的方法,换言之,@Around其实就是一个动态代理。具体写法package com.atguigu.utils;import java.lang.reflect.Method;import java.util.Arrays;import org.aspectj.lang.

2021-02-24 15:07:33 15275 1

原创 【Spring-AOP】AOP简单配置(在调用接口方法过程中(调用前、方法正常返回值后、方法异常、整个方法调用结束后),需要动态代理)

在一个项目中有如下类和接口:(1)MyMathCalculator.java:是Calculator接口的实现类package com.atguigu.impl;import org.springframework.stereotype.Service;import com.atguigu.inter.Calculator;@Servicepublic class MyMathCalculator implements Calculator{ @Override public i

2021-02-22 22:42:18 517

原创 【Spring】将组件加入到容器中的方法

将组件(类)加入到ioc容器中的方法1. 通过bean方法,可将组件加入到IOC容器中:<bean id="XXX" class="XXX"></bean>2. 通过注解的方式将组件加入到IOC容器中:(A)通过给bean上添加某些注解,可以快速将组件加入到ioc容器中。(B)在某个组件(类)上添加上任何一个注解都能快速将整个组件加入到IOC容器中。(C)spring为我们提供了一下注解:@Controller:控制器;推荐给控制层(Servlet包下的这些)的组件加

2021-01-24 16:41:05 686

原创 【Spring】使用spring连接数据库

使用Spring连接MySql数据库导包配置测试(一)导包注意:导入的mysql-connector-java-5.1.37-bin.jar这个包要和本机中MySql版本匹配!!(二)配置注意:这步可以理解为需要在ioc容器中导入ComboPooledDataSource这个组件,这个组件中有一些属性需要配置。配置如下:<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> &l

2021-01-22 22:45:12 260

原创 【Spring】对组件(类)中的属性进行赋值,即创建bean实例的方法

有一个组件(类)Person,要对其进行赋值,即创建bean实例的方法:首先Person组件的定义如下:package com.atguigu.bean;public class Person { private String lastName; private Integer age; private String gender; private String email; public Person(String lastName, Integer age, String

2021-01-21 00:08:02 307 1

空空如也

空空如也

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

TA关注的人

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