06 2020 档案
摘要:通用异常处理 在web层的方法中如果出现异常,SpringMVC会自动帮我们处理,并向前端返回500状态码以及错误信息。但是这样的错误信息是不合理的,我们应该自行处理异常,让用户看到一个相对友好的页面。 如何处理统一异常 我们在学习Spring的时候,了解过AOP的概念,利用AOP可以帮助我们处理全
阅读全文
摘要:在Java中VO、 PO 、BO、DTO、DAO、POJO是什么意思 最近在项目中,遇到VO,我的天。。。那就一起学习回忆一下 首先简单说明下: O/R Mapping是Object Relational Mapping(对象关系映射)的缩写。简单来说,就是将对象和关系数据库绑定,用对象来表示关系数
阅读全文
摘要:你真的懂@ResponseBody和@RequestBody吗? 简介 Response、Request是指的HTTP协议的请求和响应。我们知道一个请求有请求头,请求行、请求体三部分组成。响应也是如此,分为响应头,响应行和响应体三部分。Body在这里指的就是“体”。@ResponseBody和@Re
阅读全文
摘要:RESTful RESTful起源 REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。
阅读全文
摘要:JsonUtils工具类 在使用Json的时候,经常要进行一些转换,例如Bean转Json,Json转Bean,还有List、Map与Bean之间的转换,我们可以封装一个工具类,简化其操作。 所需依赖: <dependency> <groupId>com.fasterxml.jackson.core
阅读全文
摘要:Zuul网关 网关是什么? 我们在了解Zuul之前,先来了解一下网关是什么,它对于之后的学习有很大的帮助。因为Zuul就是在SpringCloud中起到一个网关作用的组件。 网关是连接两个或者以上不同网络的设备,它可以是一台路由器、交换机等设备。例如在一个机房中,有若干个局域网,它们又通过一个网关连
阅读全文
摘要:StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入
阅读全文
摘要:Feign入门 在前面的学习中,我们使用了Ribbon的负载均衡,大大的简化了远程调用过程中的代码: private static final String REST_URL_PREFIX = "http://emp-provider"; @GetMapping("/{id}") public St
阅读全文
摘要:Hystrix 背景 分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被
阅读全文
摘要:Ribbon 当一个服务需要提供多个的时候,负载均衡策略就成为了一个问题。我们可以使用随机、轮询、hash等方式实现负载均衡的策略。 Ribbon是一个为客户端提供负载均衡功能的服务,它内部提供了一个叫做ILoadBalance的接口代表负载均衡器的操作,比如有添加服务器操作、选择服务器操作、获取所
阅读全文
摘要:Eureka 介绍 Eureka是一个注册中心,他可以管理各种服务功能包括注册、发现、熔断、负载、降级等。 服务可以直接使用HttpClient、restTemplate等技术直接来调用,但是无法实现负载、管理起来比较麻烦,所以引入了注册中心的概念,和Eureka相似的技术还有zookeeper。
阅读全文
摘要:SpringCloud入门Demo 1、创建一个pom工程,管理版本 2、引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
阅读全文
摘要:MySQL进阶 创建数据库,添加数据表 首先,需要创建一个数据库,使用utf8编码集。 下面是Oracle中自带的四张表,在MySQL中的建表语句 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int unsigned auto_i
阅读全文
摘要:MyBatis看这一篇就够了 MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC;试用MyBatis框架开发者只需要关注SQL语句本身。而不需要花费大量精力去处理:加载驱动、创建连接、创建Statement等繁杂过程。 MyBatis通过xml或者注解的方式将要执行的各
阅读全文