自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Spring 之 声明式事务控制
原力计划

注解配置(1)不管是注解配置方式,还是 XML 配置方式,都需要在配置文件中配置事务管理器。事务管理器的主要实现有:DataSourceTransactionManager:在应用程序中只需要处理一个数据源,而且通过 JDBC 存取。JtaTransactionManager:在 JavaEE 应用服务器上用 JTA(Java Transaction API) 进行事务管理。HibernateTransactionManager:用 Hibernate 框架存取数据库。<!-- 1.

2020-06-25 18:06:56 80

原创 Spring 核心 之 AOP
原力计划

什么是 AOPAOP(Aspect-Oriented Programming):面向切面编程,是对传统的面向对象编程的补充。什么意思呢?比如上图中,在不同的方法中,有许多相同的功能代码,那我们就可以把这些相同的功能代码抽取出来,放到类中,那么这个类就被叫做切面。实际上,AOP 的原理就是利用了动态代理,当我们需要调用目标对象的时候,Spring 就会帮我们生成一个代理对象,将切面和核心的业务逻辑代码组装起来,形成完整的模块。即使我们将代码抽离出来,也并不会影响我们的正常使用。这样做的好处是:

2020-06-25 18:03:23 70

原创 一起来学MySQL—事务的隔离级别
原力计划

事务的含义事务:一条或多条 sql 语句组成的一个执行单元,这组 sql 语句是一个整体,要么都顺利执行,要么都不执行,只要在执行的过程中,有一条 sql 语句执行错误就全部回滚或部分回滚。事务的特性事务总共有 4 大特性:ACID。A(Atomicity)原子性:一个事务是不可再分割的整体,要么都执行要么都不执行C(Consistency)一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态。比如 A 和 B 的账户上都各有 1000 元,在 A 给 B 转了 500 元之后,A

2020-06-24 21:35:20 77

原创 一起来学MySQL—常用内置函数

初识MySQL

2020-06-24 21:31:55 45

原创 Spring 核心 之 IOC
原力计划

什么是 IOCIOC(Inversion of Control)的意思是控制反转,什么意思呢?意思就是反转资源的获取方向,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率。而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 开发人员不需要知道容器是如何创建资源对象的,只需要提供接收资源的方式即可,极大的降低了学习成本,提高了开发的效率。我的理解就是没用 IOC 之前,我们需要主动的

2020-06-24 21:17:18 88

原创 Java 基础之反射

什么是反射 反射就是借助 Reflection API 在运行期间,获取任何类的内部结构,并可以操作这些内部结构,包括但不限于属性、方法等。 个人的理解:简单点儿说就是通常情况下,我们得先 new 一个某个类的对象,然后通过对象去设置属性值,调用方法等。而除此方式外,我们还可以通过另一种方式去实现这些操作,即借助某些特定的 API,通过这些 API 去操作属性、方法的过程,就可以简单的理解为反射。 这些 API 包括:java.lang.Class: 代表一 个类java.lang.reflec

2020-05-10 21:44:10 54 1

原创 java爬虫框架—WebMagic

什么是网络爬虫从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。网络爬虫常用的技术底层实现 HttpClient + Jsoup HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、...

2020-02-23 22:31:10 233 2

原创 容器管理与容器监控

前言本篇文章介绍4个关于容器管理和容器监控的工具,Rancher、influxDB、cAdvisor、Grafana。Rancher:一个管理容器的工具,可以发布微服务(相当于 docker 的 run 命令,只不过 Rancher 是通过可视化界面来操作),还可对容器进行扩容和缩容操作。influxDB:一款数据库,只不过当中存储的是各微服务的运行状况,比如内存等信息。cAdvisor:...

2020-02-13 17:30:22 74

原创 微服务容器部署与 jenkins 持续集成

Dockerfile 创建镜像什么是 DockerfileDockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。常用命令命令作用FROM image_name:tag定义了使用哪个基础镜像启动构建流程MAINTAINER user_name声明镜像的创建者ENV key value设置环境变量 (可以写多条...

2020-02-11 23:05:24 184

原创 Spring Cloud Config & Spring Cloud Bus

Spring Cloud Config 简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。 在 Spring Cloud 中,有分布式配置中心组件 spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程 Git 仓库中。在 spring cloud config 组件中,分两个角色,一是 ...

2020-02-10 18:17:24 212

原创 Spring Cloud Zuul

为什么需要微服务网关不同的微服务一般有不同的网络地址,而外部的客户端可能需要调用多个服务的接口才能完成一个业务需求。比如一个电影购票的手机APP,可能会调用电影分类微服务,用户微服务,支付微服务等。如果客户端直接和微服务进行通信,会存在以下问题:客户端会多次请求不同地址的微服务,增加客户端的复杂性存在跨域请求,在一定场景下处理相对复杂认证复杂,每一个服务都需要独立认证难以重构,随着项目...

2020-02-06 22:14:01 66 1

原创 Spring Cloud Hystrix

首先来说一说雪崩效应。雪崩效应:在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如下图所示:A 作为服务提供者,B 为 A 的服务消费者,C 和 D 是 B 的服务消费者。A 不可用引起了 B 的不可用,并将不可用像滚雪球一样放大到 C 和 D 时,雪崩效应就形成了。

2020-02-06 21:22:58 45

原创 Spring Cloud Eureka & Spring Cloud Feign

什么是Spring CloudSpring Cloud 是一系列框架的有序集合。Spring Cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。Spring Cloud 和 Spring Boot 的...

2020-01-26 20:15:39 113 1

原创 微服务鉴权之JWT

常见的认证机制1. HTTP Basic Auth    HTTP Basic Auth 简单点说就是每次请求 API 时都提供用户的 username 和 password,简言之,Basic Auth 是配合 RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来...

2020-01-19 21:48:50 1258 1

原创 SpringDataJPA入门及四种查询方式

SpringDataJPA 与 JPA 和 Hibernate 之间的关系在说它们之间的关系之前,先说一说 JPA 和 Hibernate。JPA 是 SUN 公司推出的一套基于 ORM 的规范,内部由一系列的接口和抽象类构成。而 Hibernate 是实现了 JPA 规范的框架,它封装了 JDBC,可以对数据库进行操作。SpringDataJPA 是 对 JPA 规范的进一步封装,它并没有实现...

2020-01-12 15:53:55 95

原创 Zookeeper集群

Zookeeper 介绍1)是什么  分布式应用管理中心,用来管理分布式项目的。2)功能可以用于管理分布式应用程序的配置文件信息比如一个分布式应用,所有的模块都需要连接数据库,那么对于连接数据库所需要的配置信息,就可以统一交给 Zookeeper 来管理,这样当数据库的配置需要变更的时候,只改 Zookeeper 中的就可以了,否则还需要每个模块都改一遍,而且 Zookeeper 改完...

2020-01-05 21:50:59 70

原创 FastDFS上传文件示例

FastDFS介绍1. 简介    FastDFS 是用 c 语言编写的一款开源的分布式文件系统,拥有冗余备份、负载均衡、线性扩容等机制,使用 FastDFS 可以提供文件上传、下载等服务。2. 负载均衡和冗余备份    FastDFS 中包括 Tracker server 和 Storage Server。...

2019-12-05 14:42:44 111

原创 linux安装FastDFS+Nginx

安装FastDFS1. 下载 FastDFS 的安装包    下载地址:https://github.com/happyfish100/FastDFS,本次我安装的是 v5.05 版本的。2.

2019-12-04 19:55:52 74

原创 SpringMVC跨服务器上传文件—com.sun.jersey.api.client.UniformInterfaceException:404

SpringMVC跨服务器上传文件1. 首先要保证上传的位置存在,否则会报409错误  比如:我要上传到 uploads 文件夹下,那么就在 target 目录下,找到以项目名命名的文件夹,在里面创建一个 uploads 文件夹2. 跨服务器上传文件需要用到两个 jar 包,在 maven 中导入坐标<!--跨服务器文件上传--><dependency>...

2019-10-31 10:59:08 1853 8

原创 The server encountered an unexpected condition that prevented it from fulfilling the request.

  今天遇到了一个非常低级的错误,说是找不到类,而这些类是在 jar 包中的,那说明在运行的时候这些 jar 包并没有被加载到 Tomcat 服务器里。按道理来说,Tomcat 会自动把 jar 包加载到 Tomcat 的 lib 文件夹中的,可是并没有加载进去,为什么会这样呢?具体问题如下:  原因是:我把 WEB-INF 文件夹的名字打成了 WEB-INFO,所以 Tomcat 就没有把 ...

2019-09-01 10:38:45 376 1

原创 Java—JDBC入门

一、什么是JDBC  JDBC,全称:Java DataBase Connectivity,它其实就是官方定义的一套操作关系型数据库的接口,而各个数据库厂商需要去实现这套接口,也就是为我们提供 jar 包,从而执行驱动jar包里的实现类,来和数据库打交道。二、使用JDBC的步骤  1)导入驱动jar包  把驱动 jar 包复制到项目的 libs 目录下,然后右键 Add As Librar...

2019-08-11 21:59:14 66 2

原创 idea如何设置自动换行

  idea设置自动换行其实很简单,只需要进行一步操作就可以了。  看下图:我们只需要在相应的位置加上文件的类型就可以了,比如我们写的类都是.java文件,那么我们只需要加上 *.java就可以实现自动换行了。...

2019-08-04 20:31:38 3918 4

原创 PB中创建需要带参数查询的DataWindow

  PB中使用 DataWindow 来展示数据是很方便的,不用我们写 SQL 语句,但是如果涉及到需要参数查询我们所需要的数据的话,那么该如何用 DataWindow 呢?其实 PB 也提供了这种支持,PB中提供了5中数据源,而SQL Select数据源正好可以解决这种情况。  下面我们来学习一下如何创建SQL Select数据源并使用它:  1. 点击菜单栏上的 File菜单,选择 New...

2019-07-01 18:55:42 700 8

原创 PB使用专用接口连接SQL Server

Pb与数据库的连接有两种方式:通过ODBC与数据库连接 和 通过专用接口与数据库连接。书上说通过ODBC方式连接数据库简单方便,但是数据库操作效率较低,因此对Oracle、SQL Server之类的大型数据库管理系统,PB都提供了专用接口,以提高操作效率。专用接口在设计上针对具体的DBMS...

2019-06-30 20:19:34 1172 2

原创 不加注解引起的500错误

刚开始接触mybatis,之前一点儿都没接触过,现在要写后端方法,刚开始什么都不会,好在可以照葫芦画瓢,虽然现在也不明白什么意思,但是可以写一条线了。...

2019-06-16 21:33:12 358 8

原创 后端异常:java.lang.NumberFormatException:For input string:""

还不知道怎么使用。。。

2019-06-09 23:18:31 320 11

原创 JDK的环境变量配置

1. 首先需要到官网下载JDK,JDK下载地址,也可以选择其他版本2. 我选择的是Java 9版本,下载下来之后安装。注意的是,Java 9版本的 jdk 中已经包含了 JRE,所以公共JRE就不需要安装了3. 接下来就是配置环境变量了然后编辑 path 这个变量,在最前面加上%JAVA_HOME%\bin;,注意分号4. 最后确定之后,环境变量就配置好了。解决每次开机都需要重新...

2019-06-02 21:09:54 58 1

原创 自考总结(五)

  嗯,这是第五次自考了。什么意思呢,也就是说还剩下最后一科,自考就算考完了。这次考的科目是《计算机网络原理》,有一定难度,但是大部分内容还是很好理解的。  刚开始学这本书的时候,我是很不情愿的,但是谁让在学专业课的时候没有好好听老师讲呢?到现在还需要自己重新学习一遍,落下的总是要补的,欠下的总归要还的。刚开始看这本书的时候,300页,说多也不多,但是书中经常是一整页一整页的文字,实在没有想看下...

2019-05-26 21:25:08 132 20

原创 Angular—商品在线竞拍项目中商品搜索功能,参数加不到请求的URL地址后面的解决方法

商品搜索功能的要求是:在左边的搜索表单中,添加相应的条件,点击搜索,右边轮播图下面就会出现对应的商品。可是当我跟着老师敲完时,却出现不了这样的效果,控制台也没有报错。代码如下图:正确的情况应该是在请求的URL地址后面加上相应的参数,这样才会出现对应的商品。正确的情况如下图:可是我的请求中,URL地址后面没有参数,如下图:知道了是这个原因之后,就想知道为什么参数没有加到URL地址的后面...

2019-05-20 21:47:05 116 12

原创 Angular—模板式表单和响应式表单

1. 模板式表单和响应式表单的不同点

2019-05-19 21:42:19 331 10

原创 Angular—路由守卫

路由守卫的用处1. 需要用户登录或拥有某些权限的时候才能进入路由,就可以利用路由做一些限制2. 用户只有在当前路由填写了满足要求的信息才可以导航到下一个路由的情况。3. 当用户没有保存,就想离开当前路由的时候,就可以提醒用户。三种路由守卫CanAcitivate:处理导航到某路由的情况。CanDeactivate:处理从当前路由离开的情况。Resolve:在跳转到指定路由之前,提前获...

2019-05-12 21:59:36 102 9

原创 ionic如何使用E-charts

了解Echarts什么是Echarts?Echarts是百度的一个开源的数据可视化工具,可以帮助我们在前端展示各式各样的图,它是一个纯js图表库。Echarts在ionic中的使用1. 首先安装typings库,以及 ECharts:npm install typings echarts --global2. 其次需要安装 ECharts 的 TypeScript 定义文件npm ...

2019-05-05 21:58:31 132 8

原创 Angular—路由传参

路由对象两种路由跳转方式1. 在页面中利用 RouterLink 指令<a [routerLink]="['/product',1]">商品详情</a>2. 在控制器中利用 Router 对象  1)利用事件绑定<input type="button" value="商品详情" (click)="toProductDetails()">  2...

2019-04-28 20:25:27 104 20

原创 Angular—组件间通讯

父子组件间通讯父子组件间通讯还是非常简单的,利用输入属性就可以完成。1. 首先需要在子组件中声明一个输入属性2. 在父组件中也要声明一个和子组件中类型相同的属性3. 在父组件的 html 文件中,传递给子组件4. 然后就可以直接在子组件中的 html 中使用了兄弟组件间通讯—中间人模式当不是父子组件时,就不能用上面那种方法了。如果是兄弟组件,那么就可以使用中间人模式。中间人...

2019-04-21 22:21:44 132 22

原创 JavaScript—Jquery选择器和过滤器

选择器1. 基本选择器  基本选择器和css的选择器一样,有id选择器#id,类选择器.class,标签选择器和通用选择器*2. 复合选择器  复合选择器有子代选择器、后代选择器、组合选择器、后面兄弟选择器和紧跟兄弟选择器,当然除了这些选择器还有对应的方法也可以获得对应的元素。  1)子代选择器   父代>子代或者通过对应的方法,即:父代.children(),就是获得子代的元...

2019-04-14 21:36:42 129 13

原创 修改DNS—出现一个意外,不能完成更改

  前几天114的DNS服务器突然不能用了,所以就需要换一个DNS服务器。可是当我更改完,点击确定的时候,却告诉我”出现了一个意外的情况,不能完成所有你在设置中所要求的更改”。  虽然不知道为什么会这样,但是解决的办法总是有的!解决办法  我们可以借助命令行程序来解决这种问题。  1. 按windows+R,输入cmd,进入命令行程序  2. 依次输入以下命令:netsh–>in...

2019-04-07 16:14:43 4502 10

原创 Swagger—Can't read from file http://*:*/swagger/docs/v1

  Swagger是一个API文档工具,在没有API文档工具之前,我们必须要手写API文档,而有了API文档工具之后它可以自动帮我们生成API文档。而Swagger就是一个很好的API文档工具,当我在WebApi中集成了Swagger插件之后,并查看文档时,在页面的右下角却报了一个错误。虽然这个错误并不影响我们使用API接口,但是看着总是很不舒服。点开那个错误之后,会有提示信息。但是为什么会出...

2019-03-31 17:14:40 623 6

原创 番茄工作法

为什么要用番茄工作法  很多人都有很严重的拖延症,包括我自己在内,拖延症给我们造成了很大的困扰,面对一件事的时候总是拖着,在拖延的过程中其他的事情也没有办好。结果,拖延造成的后果就是要么这件事没有办完,要么在最后期限来临之前草草收尾。为什么会拖延?因为拖延会给我们带来暂时的安慰,但是始终消除不了我们的焦虑。  还有一种情况就是,早上开始工作之前没有计划,一会儿做这个,一会儿做那个,想起来什么...

2019-03-24 19:03:04 203 23

原创 JavaScript—DOM节点的增删改查

节点的类型首先,来说一下DOM中节点的类型。标准的DOM定义中有12种节点,但是最常用的就是元素节点、文本节点和属性节点。用.nodeType属性就可以获得节点类型的常数值。节点类型nodeType元素节点1文本节点3属性节点2增节点的增加主要分为两个步骤:1.创建节点 2.追加节点1. 创建节点 1)创建元素节点var node = doc...

2019-03-17 20:03:44 165 14

原创 ASP.NET—Cache以及跨线程访问

CacheCache:也就是缓存,也是服务器的一种状态保持机制,存在服务器的内存中。虽然Cache与Session都是存在服务器的内存中,但是它们差别却很大:1)Cache是所有用户共享的,Session是属于每个单独用户的2)Cache也可以指定过期时间,如果不指定,那么只要服务器不挂,Cache就会一直存在;而Session默认有一个过期时间,一般是20分钟Cache的方法1. 指...

2019-03-10 23:29:36 229 11

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