- 博客(77)
- 收藏
- 关注

原创 Java中的this关键字(三种用法)
this关键字的三种用法:通过this关键字可以明确的访问一个类的成员变量,解决与局部变量名称冲突问题通过this关键字调用成员方法在构造方法中访问构造方法使用this([参数1,参数2,...])
2020-10-20 23:08:38
25843
4
原创 【Springboot】整合Xxl-job
修改xxl-job-admin 调度中心模块下的application.properties配置文件,主要是修改数据链接,用户名,密码等信息为我们自己的数据地址,也就是2.1步骤执行的脚本数据库地址。访问地址:http://localhost:8080/xxl-job-admin。数据脚本在源码:doc/db/tables_xxl_job.sql。如果启动就会按照Cron表达定期执行,执行一次顾名思义执行一次。参考源码中的案例,或者直接使用源码中的案例进行学习都可以。
2023-09-19 16:22:49
726
原创 【Springboot】整合kafka
进入解压后zookeeper文件夹里面的conf目录下,该目录下有一个名zoo_sample.cfg文件,将该文件重新名为zoo.cfg,或者重新复制一份命名为zoo.cfg。使用vim命令打开zoo.cfg文件编辑,主要修改两个地方,dataDir,dataLogDir指定的目录,具体目录自己创建。使用linux连接工具,将下载的JDK压缩包上传到要安装的目录下,这里使用的是windTerm,我是将压缩包上传到/usr/java(自己创建的)目录下,解压命令如下。首先是下载自己需要的版本的压缩包。
2023-09-15 14:18:36
807
1
原创 【SpringCloud学习笔记】gateway网关
如果网关处理程序映射确定请求与路由匹配,则将其发送到网关Web处理程序。筛选器由虚线分隔的原因是,筛选器可以在发送代理请求之前或之后执行逻辑。最初的路由配置还没有接入到注册中心,路由的配置uri: http://localhost:9001写死的映射地址。|----user-service 用户服务 9001,提供一个查询用户列表的功能。|----eureka-server 注册中心 8761。|----gateway-server 网关服务 9002。
2023-06-25 16:28:09
527
原创 【SpringCloud学习笔记】zuul网关
上面的路由配置有个不好的地方就是每个路由的映射地址都需要手动去维护,那该如何自动获取服务的地址信息,那就是个网关服务接入到注册中心,下面在网关服务配置文件中添加eurake配置中的配置。微服务项目一般有多个服务,每个服务的地址都不同,客户端如果直接访问服务,无疑是增加客户端开发难度,项目小还好,如果项目比较大,有几十上百个地址,怎么办?此时就用到了微服务网关。微服务网关是介于客户端,服务之间,所有请求先经过网关,具体调用什么服务由微服务网关去转发需要调用的服务,这样客户端就只需要知道网关的地址就可以
2023-06-04 21:42:39
608
原创 【SpringCloud学习笔记】Hystrix服务降级,熔断
上面的代码,后面随着业务方法增多,每个业务方法都要有一个兜底方法,这样兜底的方法是跟业务代码柔和在一起,导致代码的膨胀。Hystrix还提供了一个全局配置。当业务代码通过openFeign调用服务时,服务出现超时,宕机等情况,就会执行fallback 配置的类中对应的方法返回。hystrix既可以在服务端使用,也可以在客户端使用。
2022-12-19 16:01:16
524
原创 【SpringCloud学习笔记】openFeign的使用
Feign是声明性的web服务客户端。它使编写web服务客户端更加容易,它封装类Ribbon和RestTemplate1、Feign是Netflix公司写的,是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端,是SpringCloud中的第一代负载均衡客户端2、OpenFeign是SpringCloud自己研发的,在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等等。是SpringCloud中的第二代负载均衡客户端。
2022-10-15 08:13:07
612
原创 【SpringCloud学习笔记】Ribbon负载均衡
直接在服务消费者配置RestTemplat类上面添加@LoadBalanced注解是全局的,也有局部配置,是针对某一个服务进行配置,该配置是写配置文件中的。Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的负载均衡算法。user-service,user-service2服务的配置文件相同,只是端口不同。轮询策略(默认),随机策略,权重轮询策略,随机策略,最少并发数策略等等。重启消费者重新访问下地址,调用服务者的服务变成了随机。
2022-09-10 07:41:01
463
原创 【SpringCloud学习笔记】服务提供者和服务消费者
服务消费使用了restTemplate远程调用了服务提供者,我们只需要知道服务的地址以及返回值类型,就可以实现远程访问。RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率,提供了不同的请求方试的接口供开发者使用。启动服务者访问 http://localhost:9001/provider/test。启动消费者访问 http://localhost:9002/consumer/test。
2022-09-02 16:42:29
560
原创 【SpringCloud学习笔记】eureka注册中心
Spring Cloud Eureka是Spring Cloud Netflix 子项目的核心组件之一,主要用于微服务架构中的服务治理。在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。每个微服务都会定时从注册中心获取服务列表,同时汇报自己的运行情况,这样当有的服务需要调用其他服务时,就可以从自己获取到的服务列表中获取实例地址进行调用,Eureka实现了这套服务注册与发现机制。
2022-08-27 08:50:27
442
3
原创 【Springboot】整合redis
首先需要安装redis服务器,可以在百度上下载一个windows版本,安装比较简单,解压后就可以使用,方便学习使用。双击目录下的redis-server.exe就可开启redis服务,双击redis-cli.exe开启客户端进行测试。
2022-06-05 10:01:45
226
原创 【Springboot】整合mybatis
除了这种写法之外,还有另外一个常见的写法,将映射文件放到类路径下的resource目录下面,如果是这种写法就要在yaml核心配置文件中配置如下配置,告诉mapper映射文件的位置。上面mapper接口和映射文件是在src/main/java相同目录下面,在pom.xml文件中配置了下面配置,启动项目打包的时候就会将xml文件打包进去。
2022-03-27 10:43:56
942
原创 每天学习一点Linux知识一
Linux安装:直接下载Windows版的解压就能使用下载Linux镜像,在本机安装VMware虚拟机进行安装使用直接在虚拟机上面进行操作或者使用远程连接工具xshell连接虚拟机进行操作关机指令:shotdownshutdown -h 时间:系统将会在时间内关闭shutdown -h now:立马关机shutdown –r now:系统立马重启shutdown –r +10:系统十分钟后重启reboot:重启系统目录结构ls / 命令(安装的是Centos8目录可能有点不
2021-07-11 21:37:39
240
3
原创 【SpringBoot】Profile 多环境支持
在这三种环境的配置文件中写不同的端口以及不同的配置内容,在项目启动的时候在application.yml文件中指定要实用的环境配置文件,在项目启动的时候就会实用该配置文件。格式:application-{profile}.properties,用来指定多个环境版本。
2021-04-22 22:47:33
197
原创 我的第一个springboot程序
我的第一个springboot程序返回hello使用了@ResponseBody注解,在speing4.x以后新增加一个新的注解@RestController,直接作用在类上面,该注解相当于@ResponseBody + @Controller合在一起的作用。这样返回的不再是视图名称。一般我们返回的是json格式的数据。
2021-04-12 11:03:06
328
1
原创 mysql学习笔记四多表查询,内连接,外连接,子查询
多表查询:查询的结果在多张不同的表里面,每张表去一列或多列。-- 员工信息表CREATE TABLE `emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT NULL, `gender` char(1) DEFAULT NULL, `salary` double DEFAULT NULL, `join_date` date DEFAULT NULL, `dept_id` int(11) DE
2021-04-11 15:43:09
160
原创 mysql学习笔记三常用函数(聚合函数,数学函数,字符串函数,日期函数)
聚合函数count()计算总数,结果排除nullstudent表中的数据总数select count(*) from student;SUM():求和-- 所有学生语文总成绩select sum(yuwen) as 学生语文总成绩 from student;AVG():平均值-- 语文平均成绩select avg(yuwen) as 语文平均成绩 from student;-- 数学平均成绩select avg(shuxue) as 数学平均成绩 from st
2021-04-11 15:41:56
283
原创 mysql学习笔记必会知识二对数据库表数据查询
查询表中的数据语法:SELECT *|字段名 FROM 表名 WHERE 条件列表,GROUP BY 分组字段,HAVING 分组之后的条件, ORDER BY 排序字段,LIMIT 分页限定查询全部数据将会把student表中的数据全部查询出来select * from student;查询一个或多个字段的数据-- 只查询姓名和年龄这两个字段,也可以使用as去别名select username,age from student;select username as 姓
2021-04-08 23:27:11
183
1
原创 mysql学习笔记必会知识,表的创建以及对表的增删改操作
简介数据库概念:是按照数据结构来组织、存储和管理数据的仓库,是长期存储在一起的相关数据的集合。数据库的作用:存储数据,数据的仓库,带有访问权限限制不同人可以有不同的操作。E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。在ER图中有如下四个成分:矩形框:表示实体,在框中记入实体名。菱形框:表示联系,在框中记入联系名。椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划
2021-04-08 23:26:00
190
原创 ssm框架整合,数据访问层基于xml配置
整合目录创建Javaweb项目dao层配置service层配置web层配置controller类代码编写创建Javaweb项目构建项目结构:java目录下:com.zy.controlle 控制层com.zy.service 服务层com.zy.mapper 数据访问层com.zy.pojo 实体类resource目录下:UserMapper.xml 接口映射文件database.properties 数据库配置文件mybatis-config.xml mybatis核心配置文
2021-04-07 09:52:16
430
原创 SSM框架整合,数据访问层基于注解实现增删改
@Repositorypublic interface UserMapper { /*** * 查询所有 */ @Select(value = "select * from user") List<User> findAll(); /*** * 新增用户 */ @Insert(value = "insert into user(username,telephone,sex,address) values(#{username}
2021-04-06 10:33:42
474
原创 springmvc实现图片上传,本地上传和跨服务器上传
图片上传本地上传服务器上传本地上传第一步:需要导入两个jar<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version></dependency><dependency> &l
2021-03-24 10:43:51
192
原创 springmvc响应数据和结果视图
返回字符串controller方法返回的字符串可以指定视图名称,根据视图解析器解析为物理视图地址。 /*** * @Description 返回值String * @Param: [] * @return: java.lang.String */ @RequestMapping(path = "/p0") public String test01() { System.out.println("我执行了......");.
2021-03-23 10:32:15
152
2
原创 springmvc中的类型转换器
在springmvc本身就提供了很多转换器,也不需要我们编写。但对对于一些特殊的格式有时候还是需要我们去自己写转换器的。例如:2021-3-20转换就会报错。自定义类型转换器的步骤:<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>springmvc学习&
2021-03-21 23:36:40
280
5
原创 springmvc中常用的注解annotation
@Controller用于类上面,表明该类时springmvc的控制类,会自动将该类注入到spring的容器中。前端控制器会自动扫描有该注解的类,将请求映射到具体的@RequestMapping()方法上。@Controller@RequestMapping(path = "/anno")public class AnnoController {......}
2021-03-20 20:52:30
259
原创 springmvc中的请求参数绑定
参数绑定支持的数据类型使用要求实例:基本数据类型和String类型实例:pojo类型实例:pojo中包含集合类型解决post请求参数乱码支持的数据类型基本数据类型(包括String类型),pojo类型(实体类以及关联的实体类),数组和集合类型使用要求基本数据类型和String类型要去参数名称必须和控制器的方法形参必须一致,区分大小写。pojo类型要求表单中参数名称和 POJO 类的属性名称保持一致。并且控制器方法的参数类型是 POJO 类型。数组和集合类型第一种:要求集合类型的请求
2021-03-19 22:54:19
245
原创 springmvc学习第一天之入门案例
MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职:Model(模型):通常指的就是我们的数据模型。作用一般情况下用于封装数据。View(视图):通常指的就是我们的 jsp 或者 html。作Controller(控制器):是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。
2021-03-19 22:49:19
109
原创 mybatis中的一级缓存,二级缓存
mybatis中提供的也有缓存,通过缓存来减少对数据可的查询次数,来提高效率。mybatis中的缓存分为一级缓存,二级缓存。一级缓存是SqlSession级别的缓存,当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中。该区域的结构是一个Map。当我们再次查询同样的数据,mybatis会先去SqlSession中查询是否有,有的话直接拿出来用。当SqlSession对象没有flush
2021-03-07 21:16:50
165
原创 Mybatis的延迟加载lazy
延迟加载何为延迟加载使用 assocation 实现延迟加载何为延迟加载就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关 联 查询多张表速度要快。使用 assocation 实现延迟加载需求:查询账户信息同时查询用户信息,如果账户信息满足需求,就不需要查询用户信息。实体类Account和User:public class Account { private Str
2021-03-06 21:09:23
387
原创 Mybatis关联查询(一对一,一对多)
一对一:我们都有身份证,一个人只有一个身份,并且唯一身份证号码。多对一:账户来说,多个账户属于一个用户,这就是多对一,多个账户属于一个用户。数据表:CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) NOT NULL COMMENT '用户名称', `birthday` datetime DEFAULT NULL COMMENT '生日'
2021-03-03 11:34:00
914
原创 Mybatis中的动态标签
动态sqlif标签:if标签中的test属性写的是对象的属性名 <select id="findByUser" resultMap="userMap" parameterType="user"> select * from user where 1=1 <if test="userName != null and userName != ''"> and username=#{userName} </if> <if te
2021-03-02 11:23:12
1461
3
原创 Mybatis的连接池和事务控制
连接池连接池就是用于存储数据库连接的一个容器,容器其实就是一个集合对象, 该集合必须是线程安全的,不能两个线程拿到同一连接 ,该集合还必须实现队列的特性:先进先出。mybatis连接池提供了3种方式的配置;配置的位置: 主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式.type属性的取值POOLDE:UNPOOLDE:JNDI:...
2021-03-01 11:58:26
261
原创 Mybatis中的SqlMapConfig.xml配置文件
typeAliases:该标签是用来定义别名的,之前我们写的代码都是写的类的全限定类名,通过该标签可以直接写类名就可以了
2021-02-28 09:35:01
256
原创 Mybatis中的#{},${}区别以及参数深入
#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换。#{}可以有效防止sql注入。 #{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。${}表示拼接sql串,通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换, 并且会引起sql注入问题。\${}可以接收简单类型值或pojo属性值,如果paramete
2021-02-27 11:47:37
740
1
原创 Mybatis学习笔记(实现增,删,改,查)
SqlMapConfig.xml核心配置文件:```java<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!-- mybatis的主配置文件 --><configuration> <!--读取jdb
2021-02-25 17:08:10
378
原创 Mybatis学习(入门案例)
MyBatis入门案例什么是 MyBatis?准备工作搭建maven工程pom文件导入坐标创建实体类User.java和dao接口创建SqlMapConfig.xml配置文件,核心配置文件创建UserMapper.xml映射文件测试类注解方式什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或
2021-02-22 22:32:28
408
1
原创 【Spring】事务控制
什么是事物:通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,要么都失败。PlatformTransactionManager:平台事务管理器,它是一个接口,是Spring用于管理事务的真正的对象。为什么需要事物:转账来说,A向B转账,由于某些原因转账失败了,A的钱被扣掉了,而B没有收到转账,这样肯定是不行的。程序正常转账是没有问题的,如果程序出现异常,就会造成转账失败,一个账户减掉钱,另一个账户钱没有加进去,这是因为扣钱跟加钱不是一个原子操作。
2021-02-21 23:28:53
289
1
原创 【Spring】AOP学习笔记,xml方式与注解方式
AOP:Aspect Oriented Programming的缩写,面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。在不改变现有代码逻辑下,对现有逻辑进行扩展。
2021-02-09 21:51:36
274
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人