- 博客(50)
- 资源 (4)
- 收藏
- 关注
原创 八、Spring Cloud Bus消息总线
概念我们使用配置中心时,当配置中心的配置发生了变化,我们就要发送一个post请求给客户端,让它重新去拉取新的的配置。当客户端有很多时,并且还是使用同一份配置文件,这样当配置中心的配置发生改变,我们就得逐个发送post请求通知,这样无疑是很浪费人力物力的。Bus消息总线组件就帮我们解决了这个问题。他的工作流程是这样的,当配置中心的配置发生了变化时,我们给其中一个客户端发送post请求,然后client将请求的信息发送到rabbitmq队列中,然后消息队列将消息发送给别的队列。使用准备工作项目基于Sp
2021-10-28 09:35:08 663
原创 七、Spring Cloud Config 高可用的分布式配置中心
概念将配置中心做成一个微服务,将其集群化,从而达到高可用.使用准备工作基于Spring Cloud 第六章的工程进行学习。创建Eureka Service注册中心创建一个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/XMLSchem
2021-10-27 15:29:04 193
原创 六、Spring Cloud config分布式配置中心
概念随着服务的增长,如果每个服务都有一个配置文件,那么当我们修改了配置中心的地址或者修改了一些别的配置,那么所有服务的配置文件都要修改,这对项目的维护很不友好。config配置中心组件就解决了上面问题。构建Config Server创建一个父工程导入父工程相关坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:
2021-10-26 17:57:50 191
原创 五、Spring Cloud zuul路由网关
概念前端调用服务接口时,需要知道服务的ip跟端口,然而当服务一多的时候,服务的ip跟端口就会很复杂,这时就应该引入网关这个组件。网关时再服务前的一个路由程序,这样前端的请求都发到网关上,然后网关再通过路由分别发送给相应的服务。这样前端只需要知道网关的地址就可以了。使用准备工作使用Spring Cloud 第四章的项目。创建Service-zuul工程创建一个spring boot 项目导入相关坐标<?xml version="1.0" encoding="UTF-8"?>
2021-10-26 17:14:23 117
原创 四、Spring cloud Hystrix断路器
概念因为微服务调用服务是一层调用一层,当其中一层出现问题后,服务一直调用,导致上一层也出现问题,最终导致雪崩。为了避免这种情况的出现,就要引入断路器组件。断路器的工作原理是,当程序调用服务出现问题时,就调用备用的方法,返回备用的值。使用准备工作基于第三Spring Cloud第三篇文章的工程,启动eureka-server 工程;启动service-hi工程,它的端口为8762。在ribbon使用断路器改造serice-ribbon 工程的代码,首先在pox.xml文件中加入spring-c
2021-10-26 16:23:47 80
原创 三、Spring Cloud Feign服务消费者
概念feign跟ribbon都是用于调用服务的组件,都实现了负载均衡功能,而且feign集成了ribbon。所以比较推荐使用feign。使用准备工作基于Spring Cloud 第一篇文章,启动eureka-server,端口为8761; 启动service-hi 两次,端口分别为8762 、8773.创建一个feign服务创建一个spring boot 工程导入相关坐标 <project xmlns="http://maven.apache.org/POM/4.0.0" xmln
2021-10-26 10:11:09 108
原创 二、Spring Cloud ribbon服务消费者
概念对于我来说ribbon是用来调用服务的一个组件。Ribbon的使用环境准备在一个文章配置好的Eureka环境的基础上启动两个服务提供者,在同一台机子上通过不同端口号用于区分不同的服务。端口分别是8762,8763‘创建消费者在父项目下创建一个spring boot 项目。导入ribbon相关坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4
2021-10-26 09:40:27 112
原创 一、Spring Cloud eureka注册中心
Spring Cloud概念简单来说Spring Cloud啥事都不做,只是把别人开发好的服务整个在一起形成的一个东西就叫Spring Cloud.注册中心我们想要调用别的服务的接口时要通过RestTemplate来调用,然而使用RestTemplate需要确定服务的ip与端口等信息,这就会出现一个问题,当服务的ip或者端口改变了(这是经常发生的),。eureka注册中心...
2021-10-25 17:40:48 118
原创 Linux安装部署环境
Linux安装JDK卸载原openjdklinux提供了一个openjdk(1)java -version 查看当前jdk(2)rpm -qa | grep jdk 查看有哪些jdk (3)rpm -e --nodeps (应用名称) 将上面除了划红线的东西全部卸载上传jdk(1)在/usr/local/ 在这个文件位置下通过 mkdir (java) 创建一个文件夹名为java(2)通过xsheel或者finalSheel上传文件到linux系
2021-08-05 15:29:41 672 4
原创 工作期间查询的知识
获取今日凌晨时间UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE))获取昨日凌晨时间UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE) - INTERVAL 1 DAY)获取明日凌晨时间UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE) + INTERVAL 1 DAY)获取的是时间戳时间戳转换成datetime, datetime也就是我们说的日期格式 年-月-日 时-分-秒FROM_UNIXTIME();d
2021-07-27 09:10:57 131
翻译 Vue基础学习
Vue的介绍Vue是一套构建用户界面的渐进式前端框架。只关注视图层,并且非常容易学习,还可以很方便的与其它库或已有项目整合。通过尽可能简单的API来实现响应数据的绑定和组合的视图组件。特点易用:在有HTMLCSSJavaScript的基础上,快速上手。灵活:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。性能:20kbmin+gzip运行大小、超快虚拟DOM、最省心的优化。基础学完多看文档:vue官网Vue的快速入门开发步骤下载和引入vue.js文件。编
2021-05-17 17:39:46 98
原创 使用layui做项目中的一些技巧跟问题(后续会继续更新)
编辑功能父页面向子页面传值父页面代码:在请求路径上拼接上要传的参数table.on('tool(currentTableFilter)', function (obj) { var st_id = obj.data.id; var st_username = obj.data.username; var st_grade = obj.data.grade; var st_department = obj.data.department; va
2021-05-12 09:53:12 229
原创 spring-cloud-eureka和spring-概念
淘宝的架构演变(重点最少看10次以上)淘宝架构演变微服务架构1、微服务”一词源于 Martin Fowler的名为 Microservices 的博文,可以在他的官方博客上找到http://martinfowler.com/articles/microservices.html2、微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HTTP 的 RESTfuL API 进行通信协作。3、被拆分成的每一个
2021-05-10 18:47:48 234 4
原创 通过抢红包案例解决高并发问题
红包的mapper类 @Select("select * from send_rea_package where id=#{id}") public Send getRedPackage(Integer id); /** * stock>0这个条件是为了解决最后一个红包被多次 * @param send */ //@Update("update send_rea_package set total_money=#{totalMoney},
2021-05-06 16:26:57 542 1
原创 springboot多数据源
自定义多数据源DynamicDataSourceRegister(将数据源注入到ioc容器中)public class DynamicDataSourceRegister implements EnvironmentAware , ImportBeanDefinitionRegistrar { private static final Logger logger = LoggerFactory.getLogger(DynamicDataSourceRegister.class); /
2021-04-22 18:25:03 301
原创 SpringBoot集成Shiro安全框架
概述Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。这不就是我们想要的嘛,而且 Shiro 的 API 也是非常简单;其基本功
2021-04-22 17:44:13 104
原创 springmvc第二天
异步调用发送异步请求 $(function () { $("#add_btn").on("click",function () { var name=$("input[name='name']").val(); var username=$("input[name='username']").val(); var password=$("input[name='password']").val();
2021-04-07 19:18:22 87
原创 mybatis-plus
Mybatis-plus的使用https://mp.baomidou.com/guide/quick-start.html导入依赖<!--mybatis-plus依赖包,包括了mybatis和mybatis-spring集成包--><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <v
2021-04-07 18:17:48 132
翻译 springmvc第一天
简介三层架构表现层:负责数据展示业务层:负责业务处理数据层:负责数据操作MVC(Model View Controller),一种用于设计创建Web应用程序表现层的模式Model(模型):数据模型,用于封装数据View(视图):页面视图,用于展示数据 jsp htmlController(控制器):处理用户交互的调度器,用于根据用户需求处理程序逻辑ServletSpringMVC快速入门①导入SpringMVC相关坐标 <!--
2021-04-06 19:18:00 84
原创 mybatis基础PageHelper插件分页查询,缓存机制,集成spring
分页插件PageHeleper官网:https://pagehelper.github.io/开发步骤:①导入与PageHelper的jar包②在mybatis核心配置文件中配置PageHelper插件方式一:```go<!-- 注意:分页助手的插件 配置在通用mapper之前 --><plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 指定方言 --> <prop
2021-04-01 18:34:53 831
原创 Mybati动态代理,动态sql语句,注解开发
接口代理方式实现Dao规范1、Mapper.xml文件中的namespace与mapper接口的全限定名相同2、Mapper接口方法名和Mapper.xml中定义的每个statement的id相同3、Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同4、Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同测试代理方式 //1.加载核心配置文件 i
2021-03-31 19:38:25 223
原创 Mybatis基础第一天
ORM介绍ORM(Object Relational Mapping): 对象关系映射指的是持久化数据和实体对象的映射模式,为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。具体映射关系如下:数据库的表(table) --> 类(class)记录(record,行数据) --> 对象(object)字段(field) --> 对象的属性(attribute)Mybatis概念: 1、mybatis是一个优秀的基于java的持久层框架,它内部封装了jd
2021-03-31 13:14:30 119
原创 Spring AOP集成jdbc
spring 事务事务的概念事务指数据库中多个操作合并在一起形成的操作序列事务的隔离级脏读:允许读取未提交的信息 原因:Read uncommitted 解决方案: (表级读锁)不可重复读:读取过程中单个数据发生了变化 解决方案: Repeatable read (行级写锁)幻读:读取过程中数据条目发生了变化 解决方案: Serializable(表级写锁)事务管理Spring事务核心对象spring为业务层提供了整套的事务解决方案Platfo
2021-03-30 13:40:38 130
原创 Spring AOP基础
AOPAOP相关概念Joinpoint(连接点):就是方法Pointcut(切入点):就是挖掉共性功能的方法Advice(通知):就是共性功能,最终以一个方法的形式呈现Aspect(切面):就是共性功能与挖的位置的对应关系Target(目标对象):就是挖掉功能的方法对应的类产生的对象,这种对象是无法直接完成最终工作的Weaving(织入):就是将挖掉的功能回填的动态过程Proxy(代理):目标对象无法直接完成工作,需要对其进行功能回填,通过创建原始对象的代理对象实
2021-03-26 19:44:21 170
原创 Spring基础Ioc注解配置
注解开发什么是注解驱动注解启动时使用注解的形式替代xml配置,将繁杂的spring配置文件从工程中彻底消除掉,简化书写注解驱动的弊端为了达成注解驱动的目的,可能会将原先很简单的书写,变的更加复杂XML中配置第三方开发的资源是很方便的,但使用注解驱动无法在第三方开发的资源中进行编辑,因此会增大开发工作量2)常用注解2.1)启动注解功能启动注解扫描,加载类中配置的注解项<context:component-scan base-package="packageName"/&
2021-03-25 19:18:55 117
原创 spring基础 Ioc xml配置
Springspring优势:方便解耦方便集成各种优秀框架方便程序的测试AOP编程的支持声明式事务的支持降低JavaEE API的使用难度理解图:最初编程的方法优化后的编程方法:spring的方法:IoC概念IoC(Inversion Of Control)控制反转,Spring反向控制应用程序所需要使用的外部资源Spring控制的资源全部放置在Spring容器中,该容器称为IoC容器操作步骤1.导入spring坐标 <dependency>
2021-03-24 16:11:53 133
原创 jsp基础
JSP基础简介JSP全称是Java Server Page,它和Servlet一样,也是sun公司推出的一套开发动态web资源的技术,称为JSP/Servlet规范。JSP的本质其实就是一个Servlet。jsp,servlet,html区别HTML 只能开发静态资源,不能包含java代码,无法添加动态数据。Servlet 写java代码,可以输出页面内容,但是很不方便,开发效率极低。JSP 它包括了HTML的展示技术,同时具备Servlet输出动态资源的能力。但是不适合作为控制器来用。J
2021-03-24 12:37:55 181
原创 Listener和Filter
Filter概念过滤器——Filter,它是JavaWeb三大组件之一。另外两个是Servlet和Listener。它是在2000年发布的Servlet2.3规范中加入的一个接口。是Servlet规范中非常实用的技术。它可以对web应用中的所有资源进行拦截,并且在拦截之后进行一些特殊的操作。常见应用场景:URL级别的权限控制;过滤敏感词汇;中文乱码问题等等。可以说是对一个servlet的增强...
2021-03-19 15:56:51 106
原创 Servlet、Request,Response,Session、Cookie
Servlet概念Servlet是运行在WEB服务器中的一小段Java程序,它能够通过WEB服务器接受并处理浏览器发送的http请求, 并能够通过WEB服务器将动态生成的结果应答给客户端,从而实现动态网页的功能第一:Servlet是一个运行在web服务端的java小程序第二:它可以用于接收和响应客户端的请求第三:要想实现Servlet功能,可以实现Servlet接口,继承GenericServlet或者HttpServlet第四:每次请求都会执行service方法第五:Servlet还
2021-03-16 20:14:07 358 1
原创 layui基础
form表单页面元素结构://第一层:form标签,并给class赋值为layui-form<form class="layui-form " lay-filter="addForm" id="addForm">//每一项就用一个div标签并给class值layui-for-item值 <div class="layui-form-item"> //标题给一个label标签给class值layui-form-label值 <label clas
2021-03-15 20:00:43 1105
翻译 Jquery
JQuery介绍随着JavaScript、CSS、Ajax等技术的不断进步,越来越多的开发者将一个又一个丰富多彩的程序功能进行封装,供其他人可以调用这些封装好的程序组件(框架)所谓的库,就是一个 JS 文件,里面封装了很多预定义的函数,比如获取元素,执行隐藏、移动等,目的就 是在使用时直接调用,不需要再重复定义,这样就可以极大地简化了 JavaScript 编程。JS对象和JQuery对象转换jQuery 本质上虽然也是 JS,但如果想使用 jQuery 的属性和方法那么必须保证对象是 jQue
2021-03-11 16:13:26 90
原创 javaScript基础
ECMAScript引入js的方式内部方式<script> document.getElementById("btn").onclick=function () { alert("点我干嘛?"); }+ 外部方式<script src="js/my.js"></script>输入输出语句输入框 prompt(“提示内容”);弹出警告框 alert(“提示内容”);控制台输出 console.log(“显示内容”
2021-03-09 18:42:21 566
原创 JDBC
JDBC简介Java数据库连接(Java Database Connectivity,JDBC),是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。使用JDBC编写的程序能够自动地将SQL语句传送给相应的数据库管理系统。JDBC扩展了Java的功能,由于Java语言本身的特点,使得JDBC具有简单、健壮、安全、可移植、获取方便等优势 。连接数据库步骤:
2021-03-04 15:56:19 227 2
原创 Oracle触发器
触发器触发器是当特定事件出现时自动执行的存储过程特定事件可以是执行更新的DML语句和DDL语句触发器不能被显式调用触发器的功能: 自动生成数据 自定义复杂的安全权限 提供审计和日志记录 启用复杂的业务逻辑触发器的组成部分:触发器语句(事件) 定义激活触发器的 DML 事件和 DDL 事件 触发器限制执行触发器的条件,该条件必须为真才能激活触发器触发器操作(主体)包含一些 SQL 语句和代码,它们在发出了触发器语句且触发限制的值为真时运行语法:
2021-03-03 11:40:29 161
原创 Oracle子程序和程序包
子程序(方法)概念:命名的 PL/SQL 块,编译并存储在数据库中。子程序的各个部分: 声明部分 可执行部分 异常处理部分(可选)子程序的分类: 过程 - 执行某些操作(无返回值得方法) 函数 - 执行操作并返回值(有返回值的方法)子程序的优点:模块化将程序分解为逻辑模块可重用性可以被任意数目的程序调用可维护性简化维护操作安全性通过设置权限,使数据更安全过程(无返回值的方法)创建过程的方法:--创建一个存储过程,根据员工编号查询员
2021-03-02 16:16:35 246
原创 Oracle游标
概述游标的概念:用来存储多条查询数据的一种数据结构(‘结果集’),它有一个 ‘指针’,从上往下移动(‘fetch’),从而能够 ‘遍历每条记录’2. 优缺点(1) 提高 sql ‘执行效率’(2) 牺牲 ‘内存’概念图游标的类型: 隐式游标 显式游标 REF游标语法基本写法 1、声明游标 2、开启游标 3、获取数据 4、关闭游标示例declare --声明显式游标并初始化 cursor emp_cur is select * from emp e
2021-03-02 10:18:09 399
原创 PL/SQL语言
PL/SQL 简介概念:PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构可用于创建存储过程、触发器和程序包,给SQL语句的执行添加程序逻辑与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性、灵活性和安全性PL/SQL 的优点支持 SQL,在 PL/SQL 中可以使用: 数据操纵命令 事
2021-03-01 15:23:27 339
原创 Oracle多表查询
多表连接查询SQL查询的基本原理第一、单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。第二、两表连接查询:对两表求积(笛卡尔积)并用ON条件和连接连接类型进行过滤形成中间表;然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。第三、多表连接查询:先对第一个和第二个表按照两表连接做查询,然后用查询结果和第三个表做连接查询,以此类推,直到所有的表都连接上为止,最终形成一个中间
2021-02-26 10:59:33 2372
原创 oracle基础
Oracle体系介绍Oracle默认用户SCOTT用户是Oracle 数据库的一个示范帐户,在数据库安装时创建(我们用的版本现在是HR用户)SQL基础语法SQL组成数据定义语言(DDL 操作表的结构)create(创建)、alter(修改)、drop(删除)数据操纵语言(DML 操作表的数据)insert(添加)、delete(删除)、update(修改)、select(查询)数据定义语言(DDL)作用: 数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象
2021-02-25 11:15:25 1342
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人