自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(317)
  • 论坛 (1)
  • 收藏
  • 关注

原创 快速学习-Feign

2.Feign在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码:String baseUrl = "http://user-service/user/";User user = this.restTemplate.getForObject(baseUrl + id, User.class)如果就学到这里,你可能以后需要编写类似的大量重复代码,格式基本相同,...

2019-12-31 17:56:56 139

原创 快速学习-熔断器Hystix

1.Hystix1.1.简介Hystix,即熔断器。主页:https://github.com/Netflix/Hystrix/Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。1.2.熔断器的工作机制:正常工作的情况下,客户端请求调用服务API接口:当有服务出现异常时,直接进行失败回滚,服务降级处理:当服务繁忙时,如果...

2019-12-31 17:52:36 137

原创 快速学习-负载均衡Robbin

7.负载均衡Robbin在刚才的案例中,我们启动了一个user-service,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。但是实际环境中,我们往往会开启很多个user-service的集群。此时我们获取的服务列表中就会有多个,到底该访问哪一个呢?一般这种情况下我们就需要编写负载均衡算法,在多个实例列表中进行选择。不过Eureka中已经帮我们集成了负...

2019-12-31 17:46:37 194

原创 快速学习-Eureka注册中心

6.Eureka注册中心6.1.认识Eureka首先我们来解决第一问题,服务的管理。问题分析在刚才的案例中,user-service对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益复杂的互联网环境,一个项目肯定会拆分出十几,甚至数十个微服务。此时如果还人为管理地...

2019-12-31 17:39:36 138

原创 快速学习-微服务场景模拟

5.微服务场景模拟首先,我们需要模拟一个服务调用的场景。方便后面学习微服务架构5.1.服务提供者我们新建一个项目,对外提供查询用户的服务。5.1.1.Spring脚手架创建工程借助于Spring提供的快速搭建工具:填写项目信息:添加web依赖:添加mybatis依赖:填写项目位置:生成的项目结构:依赖也已经全部自动引入:<?xml version="1.0...

2019-12-31 17:32:12 146

原创 快速学习-Http客户端工具

3.Http客户端工具既然微服务选择了Http,那么我们就需要考虑自己来实现对请求和响应的处理。不过开源世界已经有很多的http客户端工具,能够帮助我们做这些事情,例如:HttpClientOKHttpURLConnection接下来,我们就一起了解一款比较流行的客户端工具:HttpClient3.1.HttpClient3.1.1.介绍HttpClient是Apache公司的...

2019-12-31 17:26:22 76

原创 快速学习-远程调用方式

2.远程调用方式无论是微服务还是SOA,都面临着服务间的远程调用。那么服务间的远程调用方式有哪些呢?常见的远程调用方式有以下几种:RPC:Remote Produce Call远程过程调用,类似的还有RMI。自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都是RPC的典型Http:http其实是一种网络传输协议,基于TCP,规定...

2019-12-31 17:26:03 96

原创 快速学习-初始SpringCloud

4.初始SpringCloud微服务是一种架构方式,最终肯定需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于Spring Cloud了。为什么?后台硬:作为Spring家族的一员,有整个Spring全家桶靠山,背景十分强大。技术强:Spring作为Java领域的前辈,可以说是功力深厚。有强力的技术团队支撑,一般人还真比不了群众基础好:可以说大多数程序员的成长都伴随着Sprin...

2019-12-31 17:25:37 104

原创 快速学习-系统架构演变

1.系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一看系...

2019-12-31 17:16:44 94

原创 快速学习-SpringBoot实践

5.SpringBoot实践接下来,我们来看看如何用SpringBoot来玩转以前的SSM,我们沿用之前讲解SSM用到的数据库tb_user和实体类User5.1.整合SpringMVC虽然默认配置已经可以使用SpringMVC了,不过我们有时候需要进行自定义配置。5.1.1.修改端口查看SpringBoot的全局属性可知,端口通过以下方式配置:# 映射端口server.port=8...

2019-12-31 16:08:23 99

原创 快速学习-Thymeleaf快速入门

6.Thymeleaf快速入门SpringBoot并不推荐使用jsp,但是支持一些模板引擎技术:以前大家用的比较多的是Freemarker,但是我们今天的主角是Thymeleaf!6.1.为什么是Thymeleaf?简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:...

2019-12-31 16:08:06 110

原创 快速学习-SpringBoot自动配置原理

4.自动配置原理使用SpringBoot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这是如何做到的?一切魔力的开始,都是从我们的main函数来的,所以我们再次来看下启动类:我们发现特别的地方有两个:注解:@SpringBootApplicationrun方法:SpringApplication.run()我们分别来研究这两个部分。...

2019-12-31 15:24:52 89

原创 快速学习SpringBoot-Java配置

3.Java配置在入门案例中,我们没有任何的配置,就可以实现一个SpringMVC的项目了,快速、高效!但是有同学会有疑问,如果没有任何的xml,那么我们如果要配置一个Bean该怎么办?比如我们要配置一个数据库连接池,以前会这么玩:<!-- 配置连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.Druid...

2019-12-31 14:52:25 74

原创 快速学习-springBoot入门

2.快速入门接下来,我们就来利用SpringBoot搭建一个web工程,体会一下SpringBoot的魅力所在!2.1.创建工程我们先新建一个空的工程:工程名为demo:新建一个model:使用maven来构建:然后填写项目坐标:目录结构:项目结构:2.2.添加依赖看到这里很多同学会有疑惑,前面说传统开发的问题之一就是依赖管理混乱,怎么这里我们还需要管理依赖呢?...

2019-12-31 14:43:42 83

原创 快速学习-SpringBoot简介

1. 了解SpringBoot在这一部分,我们主要了解以下3个问题:什么是SpringBoot为什么要学习SpringBootSpringBoot的特点1.1.什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:我们可以看到下面的一段介绍:Takes an opiniona...

2019-12-31 14:38:32 188

原创 IDEA-打开springboot的run dashboard

6.打开springboot的run dashboard先看下run dashboard是什么:可以看到,这里可以同时显示多个springboot项目,非常方便。默认情况下,idea的run dashboard是关闭的,当检测到你有多个springboot项目时会弹出提示框,询问是否打开。如果我们想要自己打开,需要修改配置。在你的idea的项目目录中,有一个.idea目录:其中,有...

2019-12-31 14:23:14 122

原创 IDEA-project与module

5.project与module5.1.idea的maven理念在Idea中,没有工作空间的概念,每一个Project就是一个独立的文件夹,也是一个独立的窗口。然后我们可以在Project中创建多个Module。是不是感觉与maven的项目结构完全一致?说对了,idea就是完全贯彻了maven的理念。5.2.小技巧熟悉eclipse的同学会觉得很不方便,无法在一个界面中创建很多的工程。...

2019-12-31 14:20:49 326

原创 IDEA-常用快捷键

3.常用快捷键快捷键作用Ctrl + Y删除一行Ctrl + D复制一行Ctrl + Alt + L格式化Ctrl + Alt + O导包Alt+Insert(可修改)New菜单\代码生成菜单(生成getter和setter,maven依赖等)Ctrl + /注释Ctrl + Shift + /多行注释Ctrl + Al...

2019-12-31 14:17:22 68

原创 IDEA-代码自动补全设置

4.代码补全idea有很多的代码自动补全功能,有两个地方可以设置:还有一个:其作用演示:通过后缀的方式快速完成一些代码的补全,一般写完后缀,按tab或回车即可。罗列一些比较常用的:代码效果psvm自动生成main函数.var自动为对象生成声明sout输出:System.out.println().if生成if判断.for生成循环...

2019-12-31 14:17:06 2914

原创 IDEA-基本配置

2.配置我们在启动界面打开配置页面:进入idea以后,我们可以进行一系列配置。2.1.字体和主题:另外,主题也可以到网上下载,但是建议大家不要去浪费时间了。2.2.启动项:2.3.快捷键类名自动补全:默认并不是Alt + /。而大家玩eclipse比较熟悉了,所以我们改成Alt + /代码生成:默认的代码生成快捷键:Alt + insert。很多同学电脑中没有 Inse...

2019-12-31 14:13:15 121

原创 Java工具集-Cookie工具类

添加依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</versi...

2019-12-31 13:59:53 98

原创 快速学习代码生成器-制作模板

3 制作模板3.1 模板制作的约定(1)模板位置模板统一放置到相对于当前路径的 模板 文件夹下(2)自定义数据自定义的数据以 .propeties 文件(key-value)的形式存放入相对于当前路径的 properties 文件夹下(3)数据格式table中数据内容:3.2 需求分析制作通用的SpringBoot程序的通用模板实体类类路径,类名,属性列表(gett...

2019-12-31 11:56:07 145

原创 快速学习-实现代码生成

2 实现代码生成2.1 需求分析为了代码更加直观和易于调用,实现代码生成共有两个类组成:UI界面统一调用的入口类:GeneratorFacade方便多种界面调用,主要完成数据模型获取,调用核心代码处理类完成代码生成代码生成核心处理类:Generator根据数据模型和模板文件路径,统一生成文件到指定的输出路径2.2 模板生成(1)配置统一调用入口类GeneratorFac...

2019-12-31 11:45:49 102

原创 快速学习代码生成器-构造数据模型

1 构造数据模型1.1 需求分析借助Freemarker机制可以方便的根据模板生成文件,同时也是组成代码生成器的核心部分。对于Freemarker而言,其强调 数据模型 + 模板 = 文件 的思想,所以代码生成器最重要的一个部分之一就是数据模型。在这里数据模型共有两种形式组成:数据库中表、字段等信息针对这部分内容,可以使用元数据读取并封装到java实体类中用户自定义的数据为了代...

2019-12-31 11:43:18 227 1

原创 快速学习-代码生成器搭建环境

4 代码生成器搭建环境4.1 思路分析工具的执行逻辑如下图所示:如上分析,得知完成代码生成器需要以下几个操作:用户填写的数据库信息,工程搭建信息需要构造到实体类对象中方便操作数据库表信息,数据库字段信息需要构造到实体类中构造Freemarker数据模型,将数据库表对象和基本配置存入到Map集合中借助Freemarker完成代码生成自定义公共代码模板4.2 搭建环境4.2....

2019-12-31 11:35:48 232 1

原创 快速学习-数据库之元数据

3 数据库之元数据3.1 数据库中的元数据(1) 什么是数据元数据?元数据(MetaData),是指定义数据结构的数据。那么数据库元数据就是指定义数据库各类对象结构的数据。 例如数据库中的数据库名,表明, 列名、用户名、版本名以及从SQL语句得到的结果中的大部分字符串是元数据(2)数据库元数据的作用在应用设计时能够充分地利用数据库元数据深入理解了数据库组织结构,再去理解数据访问相关框架的...

2019-12-31 11:23:56 139

原创 快速学习Freemarker-基本使用

2.3 Freemarker的基本使用2.3.1 构造环境创建maven工程codeutil,并引入响应坐标 <dependencies> <!--freemarker核心包 --> <dependency> <groupId>org.freemarker</groupId&g...

2019-12-31 11:14:01 79

原创 快速学习FreeMarker-FreeMarker简介

2 FreeMarker简介2.1 什么是FreeMarkerFreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML格式的文本用来自动生成源代码)的通用工具。它是为 Java 程序员提供的一个开发包或者说是类库。它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。FreeMarker 的设计实际上是被用来生成 HTML 网页,尤其是...

2019-12-31 11:02:16 171

原创 快速学习-浅谈代码生成器

1 浅谈代码生成器1.1 概述在项目开发过程中,关注点更多是在业务功能的开发及保证业务流程的正确性上,对于重复性的代码编写占据了程序员大量的时间和精力,而这些代码往往都是具有规律的。就如controller、service、serviceImpl、dao、daoImpl、model、jsp的结构,用户、角色、权限等等模块都有类似的结构。针对这部分代码,就可以使用代码生成器,让计算机自动帮我们...

2019-12-31 10:58:00 191

原创 Java工具集-数据库工具类

代码示例package com.simple.util.config.database;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.util.ArrayList;imp...

2019-12-31 10:34:05 170 1

原创 Java工具集-properties文件工具类

代码示例package com.simple.util.file;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;impo...

2019-12-31 10:21:25 79

原创 Java工具集-文件工具类

代码示例package com.simple.util.file;import java.io.File;import java.net.URL;import java.util.ArrayList;import java.util.List;/** * @program: simple_tools * @description: 文件工具类 * @author: Che...

2019-12-31 10:10:17 105 1

原创 Java工具集-百度云人脸识别工具类

添加依赖 <!-- 百度云AI API--> <dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <ver...

2019-12-31 10:04:49 268

原创 人工智能-刷脸登录实现

4 刷脸登录实现4.1 需求分析为了用户登录的便捷,我们在系统中增加刷脸登录的功能,大致流程如下图:4.1.2 触发流程用户在登录页面触发刷脸登录功能在该页面中弹出一个二维码,此二维码是后台即时生成,包含特殊标志(但本质上是一个URL链接),后续登录流程将会使用此标志。用户对该二维码进行扫描,并在扫描端(手机或PC,注:此处不建议使用微信扫描)浏览器打开落地页。打开落地页时,授权使...

2019-12-31 09:54:38 1411 1

原创 Java工具集-二维码工具类

添加依赖 <!-- 二维码 --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version&g...

2019-12-31 09:38:04 145

原创 人工智能-百度云API的入门(人脸识别)

3 百度云API的入门3.1 搭建环境创建工程并导入依赖:<dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <version>4.8.0</version></depe...

2019-12-31 09:26:26 495

原创 Java工具集-浏览器下载Excel工具类

代码示例package com.simple.util.poi;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import java.io.ByteArrayOutputStream;import java.io.IOException;/** * ...

2019-12-31 09:20:12 165

原创 人工智能-百度云AI概述

2 百度云AI概述2.1 概述百度人脸识别基于深度学习的人脸识别方案,准确识别图片中的人脸信息,提供如下功能:人脸检测:精准定位图中人脸,获得眼、口、鼻等72个关键点位置,分析性别、年龄、表情等多种人脸属性人脸对比:对比两张人脸的相似度,并给出相似度评分,从而判断是否同一个人人脸搜索:针对一张人脸照片,在指定人脸集合中搜索,找出最相似的一张脸或多张人脸,并给出相似度分值活体检测:提供...

2019-12-30 17:55:49 361

原创 人工智能-浅谈人工智能

1 浅谈人工智能1.1 人工智能的概述人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从...

2019-12-30 17:46:06 404 1

原创 快速学习JasperReport-用户档案下载

5 用户档案下载5.1 搭建环境(1) 配置坐标 <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version...

2019-12-30 17:39:33 177

空空如也

cwl_java的留言板

发表于 2020-01-02 最后回复 2020-05-17

空空如也

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

TA关注的人 TA的粉丝

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