自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springcloud微服务学习笔记

此篇内容较长。一、关于微服务当单体应用越来越大的时候,一个小的改动就要重新编译打包部署(空间和时间都会增大),在这个过程中,服务是完全不能对外提供任何服务的。这时我们要将单体应用按业务进行拆分,这就是微服务,同是微服务可以部署在不同的服务器中,同一个微服务可以复制N份,这就是分布式,因此微服务是分布式的基础。两个微服务之间进行通信,一般有两种协议,HTTP协议和RPC协议,HTTP协议是长链接的,网络消耗上比RPC要多,不过HTTP是无状态的,不同的微服务可以采用不同的开发语言,只要对外提供

2020-12-21 17:06:17 394 2

原创 基于RBAC的权限访问系统(SpringBoot+SpringSecurity+Mybatis)

需要,基于RBAC的权限访问,采用SpringSecurity安全管理框架+SpringBoot+Mybatis数据库持久框架。数据库设计:user用户名:role角色表:permisson权限表:user_role 用户-角色中间表:role_permission色色-权限中间表:...

2020-06-27 12:51:03 2358 2

原创 关于spring的Transactional事务的传播propagation特性

传播行为:当事务方法被另一个事务方法(当前事务)调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务(当前事务)中运行,也可能开启一个新事务,并在自己的事务中运行。关于事务回滚机制,我个人认为主要是看异常发生点的位置,异常发生时,还未提交的事务都会被回滚,还未运行的事务也不会被运行;而已经提交了的则不会被回滚。如:外部事务方法A中调用内部事务方法B,方法A为当前事务(外部事...

2019-07-25 16:06:29 477

原创 项目需求:增加订单的完成开关(swith)

一、引言在之前的项目中,需要增加一个swith开关来表明此订单是否已下单,主要怕遗忘了,因此增加一个开关可以展示。项目实际效果二、前端部分1.html部分</el-table-column> <el-table-column label="是否下单" align="center" width="80"> <template slot-

2021-01-22 09:53:41 230 1

原创 web项目中修改密码的实现

项目以springboot,springsecurity等技术为后端,vue+elementUI为前端。需求,增加密码的修改。打开修改密码dialog对话框,原密码中要输入并验证是否正确,新密码和确认新密码是验证是否一致和正则匹配,然后修改按钮提交到后端进行数据库中user表的密码更新。一、后端部分1、原密码的校验:a.控制器@PostMapping("/selectByUserNameAndPassword")@ResponseBodypublic Result<B

2021-01-21 14:31:49 6403 1

原创 github及git的使用

一、git使用前准备git本地仓库与github远程仓库连接时要有认证,是通过SSH的公钥进行认证的。1.创建SSH公钥并将添加到github中在用户目录下查看.ssh文件夹如果没有这个文件夹或者文件,需要手动创建在Program Files文件夹下找到Git/bin目录,双击sh.exe输入以下命令,一路回车会创建.ssh文件夹和其中的密钥$ ssh-keygen -t rsa -C "xxxx@xx.xx"用记事本打开id_rsa.pub文件,将其中的公钥复制。

2021-01-06 11:09:02 437

原创 关于前后端分离中CORS跨域问题

在前后端分离中,前端的域或端口与后端的域或端口不一致的情况下,浏览器默认会阻止前端请求后端,因此我们为了使前端请求能够得到服务器响应并返回数据,需要做一些设置。基于springboot+vue一.CORS服务器端设置@Configurationpublic class MyConfig implements WebMvcConfigurer { //静态资源URI和位置映射 @Override public void addResourceHandlers(Resou

2020-09-10 14:50:46 1225

原创 自写项目总结(传统CRUD,前端+后端)

项目需求:一个客户管理系统、制作单生成、报价表(xls)生成及下载后端:springboot、springSecurity、Mybatis-Plus、devtools、thymeleaf、poi、lombox、swagger2前端:vue、elementUI采用前后端分离开发,实装将前端build的文件复制到后端static下,使用maven打包成一个单独的jar文件,放到服务器上双击即可运行。一、后端知识点:1.pom.xml文件<?xml version="1.0" en

2020-09-07 11:12:04 502

原创 Vuex-Vue.js的状态管理插件

一、引言在Vue.js的组件基础中,我们在两个组件之间传值使用的是props(父组件向子组件传值),自定义事件this.$emit方法(子组件向父组件传值),对于简单的组件比较少的,而且依赖不复杂的我们可以使用,但是,如果组件很多,而且依赖很复杂,两个组件不一定是父子关系,而且关系比较远的时候,如果我们还是使用传统的传值方式,那将会是一场灾难(两个距离比较远的组件如果使用传统方式,需要通过可能比较多的中间组件进行传值),因此Vuex诞生了,Vuex可以看作是一个基于缓存的状态管理工具,我们在其store

2020-08-04 09:42:36 292

原创 Vue.js之监听器和计算属性

一、监听器:watch监听某个data数据或者监听路由地址,当data数据或者路由地址发生了变化,就会触发其中的方法执行。1.监听data数据<div id="app"> <input type="text" v-model="t1"> {{t2}}</div>new Vue({ el:"#app", data:{ t1:"", t2:"" }, watch:{

2020-07-30 12:28:45 524

原创 Vue.js之路由(router)

一、router简介在后端程序中,我们是使用的servlet或者springMVC来匹配前端的http请求,并响应相关的数据发送给前端。在前端程序中,一个单应用程序,通过一个hash(#号)改变来切换页面的展示。http://localhost:63342/mywebpack/index.html#/loginhttp://localhost:63342/mywebpack/index.html#/register前端路由的优点在于,我们只是展示页面可以不需要通过http来请求后端响应,

2020-07-27 14:48:34 553

原创 Vue.js之组件基础

一、为什么使用组件?组件是将一个html片段抽取出来,它有自己的html标签、css样式、js行为,通过对外的属性暴露(父组件向子组件传值)和方法传值(子组件向父组件传值),组件主要作用是代码的复用。二、关于组件的三种创建方式1.全局性的定义组件和注册组件<body> <div id="app"> <!--4.组件使用--> <com></com></div></body><

2020-07-26 09:27:40 158

原创 Vue.js之动画

一、关于css3的transition属性:transition:翻译为“过渡”,过渡是一个持续性的动作,因此必须定义一个持续时间。transition属性:1.transition-property属性:指定CSS属性的过渡效果,常用于鼠标悬停在一个元素上时指定属性的变化效果; none:没有属性会获得过渡效果。 all:所有属性都会获得过渡效果,此值为默认值。 <property>:指定属性获得过渡效果,多个属性用逗号分隔,如 width,c...

2020-07-23 12:19:03 250

原创 Vue之生命周期和生命周期钩子

生命周期:指的是vm实例创建、运行、销毁期间的各种事件。生命周期钩子:生命周期事件、生命周期函数。生命周期主要分为三类:1.创建:这些函数均只在创建阶段运行一次beforeCreate:此阶段vm实例在内存在创建出来(只有默认的生命周期函数和一些默认的事件),但是data和method属性没有初始化好;created:实例已经在内存中创建并且初始化好了data和method属性,但是还没有编译,此生命周期函数可操作data和method属性,一般在vm创建的时候从服务器获取数据并加载初始

2020-07-19 17:32:00 131

原创 Vue之自定义指令(directive)

目录自定义一个获取焦点的指令 v-focus钩子函数:钩子函数参数:自定义指令的简写在Vue中,指令都是以 v-xxx 命令,因此自定义指令也是如此自定义指令时,指令名称不需要加前缀v-,但在调用的时候一定要加前缀v-自定义一个获取焦点的指令 v-focus//定义一个全局的指令(directive:指令)//参数1为指令名称,定义的时候,不需要加 v- ,调用时需要v- ,//参数2是对象,对象中有指令相关函数,在特定时候运行,Vue.directive('fo..

2020-07-19 15:52:20 278

原创 Vue自定义按键修饰符

自定义按键修饰馆//当输入文字后,按Enter键时触发add方法<intput type="text" v-model="text" @keyup.enter="add">//如果要改成f2,由于Vue没有定义的有f2的键盘修饰符,因此@keyup.f2是无效的//f2换键盘码为113<intput type="text" v-model="text" @keyup.113="add">//113不好记忆,因此我们自定义一个f2的修饰符Vue.config.Ke

2020-07-19 13:27:16 203

原创 Vue.js过滤器

Vue的过滤器,主要作用是将一个字符串(入参)通过一个过滤器函数来改变字符串的格式化显示,对原数据是没有影响的,主要是用在显示上。1.全局过滤器定义全局过滤器,在所有引用此js的html的vm实例中都有效。Vue.filter('过滤器名称',function(被过滤的参数,其他参数...){ 代码; return 返回值})使用<div id="app"> {{msg | 过滤器名称(参数...)}}</div>全局过滤器的实例:定

2020-07-19 11:25:00 106

原创 Vue的样式(class和style)绑定

vue.js中使用样式绑定,有class属性和内联样式class属性的绑定:<style> .red{ color:red; } .bold{ font-weight: bold; }</style><!--直接使用style中定义的class样式,采用的是数组对象--><p :class="['bold','red']">这是cl

2020-07-15 12:24:46 192

原创 Vue.js表单控件的使用

指令v-model用于双向数据绑定,只能使用在表单控件中:1.text文本框和password密码框控件请输入:<input type="text" v-model="text"><br/>输入的内容:{{text}}请输入:<input type="password" v-model="text"><br/>输入的内容:{{text}}vm中data: text:"",如果input中有value属性,value属性会被忽略

2020-07-15 10:28:25 405

原创 Vue.js基础指令使用

1.Vue.js简介vue.js是基于数据驱动的,它是响应式的,而非操作DOM,因此我们重点在操作数据,而非视图的渲染。前端的MVVM模型,指的是M ——VM ——V,模型——视图模型——视图,这里的模型M一般指的是vm实例中的data数据,视图V指的是html文件,视图模型VM指的是Vue实例2.Vue.js指令1.v-cloak:防止闪现当我们使用插值{{msg}}的时候,如果网络状态不好,html中显示出“{{msg}}”,而非替换为vm实例的data数据msg,因此我们使用这

2020-07-14 14:56:37 218

原创 关于Vue的事件修饰符

Vue的事件修饰符:.stop 阻止事件的冒泡,阻止事件继续传播 .prevent 阻止事件原来默认事件 .capture 捕获监听器,可理解为改变冒泡的顺序 .self 只在事件本身的元素及以上触发,不在子元素的事件链中 .once 只触发一次 .prevent为阻止元素的默认事件,一般有<a>、<submit>这些标签原生带有自己的默认事件,在其中的自定义事件中 @click.prevent="fun" ,会阻止原生的默认事件

2020-07-14 14:18:55 246

原创 关于Vue.js的引入方式(页面引入与webpack构建引入)

目录一、页面引入方式:组件的注册引入:采用render函数来渲染组件:二、webpack引入方式vue的安装: 1、组件的注册引入2、render函数渲染方式三、使用.vue自定义组件文件一、页面引入方式:组件的注册引入:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Tit...

2020-07-10 14:19:06 1974

原创 前端之webpack构建工具的基础使用

一、Node.js下载下载地址:https://nodejs.org/zh-cn/download/下载后并安装后在cmd控制台中输入Node,显示版本号,则安装成功二、准备工作1、新建文件夹mywebpack2、cmd到当前目录,并输入 npm init (npm init -y),一路默认,目录中生成文件 package.json三、安装webpack1、安装全局和本地项目的webpack,安装本地时将webpack-cli一并安装 附:安装n...

2020-07-08 21:52:46 396

原创 Spring IOC官方文档解读笔记

资料来源:https://www.docs4dev.com/docs/zh/spring-framework/4.3.21.RELEASE/reference/beans.html目录Spring IoC 容器和 beans 简介容器概述配置元数据实例化容器使用容器Bean 概述命名 beans实例化 beans依赖关系依赖注入Spring IoC 容器和 beans 简介org.springframework.beans和org.springfra.

2020-06-16 15:52:52 272

原创 javaweb之Listener

Listener,监听器,javaweb三大组件之一。监听器指监听事件源的属性和方法在特殊情况下触发时监听器执行相应的方法。事件源:被监听的对象,比喻:小偷。事件:被监听对象的属性和方法在特殊情况下触发,比喻:小偷偷东西。监听器:事件源的事件被触发时,监听器执行相应的方法,比喻:警察抓偷东西的小偷。javaweb常见的监听器 监听ServletContext 生命周期监听:ServletContextListener监听器 @WebListener()public cla

2020-06-01 20:43:53 257

原创 javaweb之Filter

javaweb的三大组件之一。Filter过滤器(/拦截器)是在URL对一组资源(servlet,html,jsp,css,js,jpg等)的请求之前,当满足条件后发行。接口:Filter default void init(FilterConfig filterConfig)void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)default void destroy()抽象...

2020-05-30 22:53:55 219

原创 java之ServletContext

ServletContext,Servlet的上下文环境。1.一个Servlet仅有一个ServletContext对象(单例模式);2.ServletContext的生命周期始于Tomcat启动项目到项目被关闭;3.ServletContext主要用于多Servlet之间的数据传递。ServletContext属于域对象,域对象一般有以下四种: ServletContext PageContext ServletRequest HttpSession所谓域对...

2020-05-28 17:03:50 192

原创 javaweb之Servlet

Servlet,javaweb的基础之一。主要作用是处理浏览器的请求。1.接收请求 ServletRequest2.处理请求 编码3.响应请求 ServetResponseServlet接口:public interface Servlet { //生命周期方法,初始化,在Servlet对象创建后执行 void init(ServletConfig var1) throws ServletException; //获取Servlet配置信息 Serv

2020-05-28 13:11:58 187

原创 原始ajax的编码

1.servletpackage a;@WebServlet(name = "MyServlet2")public class MyServlet2 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.g

2020-05-25 15:16:40 125

原创 java之自定义事务与ORM(对象关系映射)

需求:创建数据库表与java实体映射,并创建事务保证同时更新或者回滚。 数据库表-tax: 引入的jar包:mysql-connector-java-8.0.19.jar、druid-1.1.22.jar 配置文件:src目录下druid.properties driverClassName=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/testusername=rootpassword=a123.

2020-05-22 13:09:01 255

原创 java之数据库连接池

数据库对于每一个Connection对象的创建和关闭,都需要耗费资源,如果Connection连接过多,会造成很多的性能损失,因此,可以通过数据库连接池的方法,程序启动的时候初始化创建一组Connection连接(连接池),在Connection的关闭操作中并不是关闭连接,而是将连接放回池中。常用的连接池有: C3P0 :最早的连接池,已经不更新了。 DBCP :Tomcat内置的连接池,另需要依赖Pool组件 Druid :alibaba的开源组件。 Hi...

2020-05-21 14:17:41 277

原创 java之数据库事务

数据库ACID逻辑理解:1.原子性:一个事务是不可能分割的整体,事务内的所有sql语句要么全部成功,要么全部失败;2.一致性:在事务的执行前后,数据的状态要保持一致,保证数据的正确性(转账操作前后的总金额是不会变的);3.隔离性:在并发操作中,各个事务之间的应隔离开互不影响(注:事务之间的影响关系可通过事务的传播来决定);4.持久性:对数据库的修改操作一定会写入数据库(此由各个数据库厂商实现)。重点来讲事务隔离一个事务只有两种操作,读取事务、修改事务,一般有以下四种方式结果:修改

2020-05-21 13:16:50 237

原创 java设计模式——装饰者模式

按照设计模式,我们对一个类进行增加,在不改动原有类的基础上进行增加,对修改关闭,对扩展开放(开闭原则)。 类的继承 进行类的增强,传统方法是类的继承,在继承类中进行原有类的增强,但是我们不建议超过2层的继承关系,如果一个类在N次迭代中都需要增加,那就会有N个继承类,这样会使系统过于臃肿。 静态代理增强 静态代理模式,代理类和被代理类均需实现同一个接口,在代理类中增强被代理类的方法。 装饰者模式 ​​​​​​​装饰者模式,和代理模式比较相似,其实就是代理模式的复用。代理复

2020-05-20 14:29:19 93

原创 Annotation自定义注解与代理模式

需求:利用自定义注解实现代理类生成时,按照注解获取被代理类消息接口和两个实现类:interface IMessage{ void send();}class MessageImpl1 implements IMessage { @Override public void send(){ System.out.println("发送消息1");...

2020-04-30 10:39:24 563

原创 java之Annotation注解

Annotation:注解,即为标签,标明某个类/方法/域的特征,然后通过反射来进行获取并处理。java中提供有几种元注解:元解解就是指标在标解上的注解,注解定义的时候使用到。@Rentention :注解的生命周期,即存在空间。@Documented//此注解表明是在运行时生效@Retention(RetentionPolicy.RUNTIME)//此注解是注解应用的位置:注解...

2020-04-29 15:36:25 124

原创 java设计模式——代理模式

代理模式:代理真实对象,并在其基础上进行方法的扩展,设计模式“开闭原则”的体现,对扩展开放,对修改关闭(不修改原有接口和原有真实类)。代理模式的三种形势: 静态代理模式: 代理类和被代理类均实现同一接口,被代理类通过构造或者方法参数传入代理类中,由代理类进行代理。接口://共同接口interface IMessage{ public void send();}...

2020-04-29 10:27:38 100

原创 java之文件夹的复制

public static void copy(File src, File des) throws Exception { //原文件夹要存在 if(src.exists()){ File[] files = src.listFiles(); for(int i = 0 ; i < files.length ...

2020-04-23 21:21:12 70

原创 java之管道流

管道流是指在两个线程之间进行IO操作。管道流同样分为字节管道流和字符管道流。此例只采用字节管道流。PipedInputStream:管道输入流重要方法:public synchronized void connect(PipedInputStream snk) throws IOExceptionPipedOutputStream:管道输出流重要方法:public void...

2020-04-23 16:34:47 294

原创 java之文件流与转换流

输入流 输出流 文件字节流 FileInputStream FileOutputStream 文件字符流 FileReader FileWriter 文件字节流FileInputStream:文件字节输入流定义 :public class FileInputStream extends InputStream ...

2020-04-23 13:41:38 3565

原创 java之基本流

在互联网上传输的实际是属于二进制流,包括在计算机内部一样的是二进制流在传输。在java中有两种最基本流,字节流与字符流 输入流 输出流 字节流 InputStream OutputStream 字符流 Reader Writer 字节输入流定义:抽象类,不能实例化,必须通过其相关子类来实例化//实现了关闭接...

2020-04-23 12:08:12 308

空空如也

空空如也

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

TA关注的人

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