自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 elasticsearch部署

一、单机部署1.环境准备centos7.xelasticsearch7.8.1kibana7.8.12.操作系统配置关闭防火墙service firewalld stop || systemctl stop firewalld.servicechkconfig firewalld off/etc/sysctl.conf3.二、集群部署...

2020-08-22 20:51:05 1516

原创 Spring Cloud Config配置中心

Environment环境加载Environment就是指Spring应用运行的环境信息,例如从系统变量、命令行、配置文件application.yml等文件中的信息加载之后都会保存到Environment中。Environment的初始化org.springframework.boot.SpringApplication#run(java.lang.String...)ConfigurableEnvironment environment = prepareEnvironment(lis

2020-07-17 16:32:59 1278

原创 Spring Cloud之Eureka注册中心

Eureka服务端/客户端简单部署与使用服务端部署1.maven中添加eureka-server依赖, 由于spring-cloud-dependencies中管理了各个组件的版本,所以eureka-server不需要重复定义版本:<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <

2020-07-13 14:21:53 1395 2

原创 Spring Cloud之负载均衡策略

Spring Cloud整合了ribbon作为客户端的负载均衡器,其中提供了一些负载均衡的算法,本文就了解这些负载均衡的实现:一、负载均衡策略负载均衡策略的顶层接口为IRule,看下其类结构:public interface IRule{ public Server choose(Object key); public void setLoadBalancer(ILoadBalancer lb); public ILoadBalancer getL

2020-07-05 16:03:23 1527

原创 Spring Cloud之ribbon源码解析

LoadBalancerClient在Riibon中一个非常重要的组件为LoadBalancerClient,在spring-cloud-commons包下。LoadBalancerClient是一个接口,它继承ServiceInstanceChooser,它的实现类是RibbonLoadBalancerClient,这三者之间的关系如下图:LoaderBalancerClient是在自动装配组件RibbonAutoConfiguration中进行装配的,注入的是RibbonLoadBalan

2020-07-02 18:56:29 290

原创 Spring Cloud之ribbon简单使用

Ribbon是一个客户端负载均衡器,它为您提供了对HTTP和TCP客户机行为的大量控制。Feign已经使用了Ribbon,所以,如果您使用@FeignClient,这个部分也适用。而本文主要介绍如何单独使用ribbon。1.maven添加依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netfli

2020-07-02 10:56:48 292

原创 SpringBoot四大核心特性(四)

actuatorSpring Boot包括许多附加特性,帮助您在将应用程序推向生产环境时监视和管理应用程序。您可以选择通过使用HTTP端点或使用JMX来管理和监视应用程序。审计、运行状况和指标收集也可以自动应用于应用程序。...

2020-07-01 19:06:45 1067

原创 SpringBoot四大核心特性(三)

SpringBoot CLISpring Boot CLI(Command Line Interface)是一个命令行工具,我们可以用它来快速构建Spring原型应用。它允许您运行Groovy脚本,这意味着您拥有熟悉的类似java的语法,而没有那么多样板代码。下载及安装 https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/htmlsingle/#getting-started-installing-the-cli..

2020-06-24 17:47:43 373

原创 SpringBoot四大核心特性(二)

Bean自动化配置Springboot自动化配置是开箱即用的基础,我们在编写SpringBoot项目时,@SpringBootApplication是最常见的注解了,我们可以看一下源代码:package org.springframework.boot.autoconfigure;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation

2020-06-24 16:57:48 441

原创 SpringBoot四大核心特性(一)

Starter添加项目依赖Starter组件将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中,简化项目中maven依赖;例如,如果使用传统Spring构建一个web项目时需要导入以下几个依赖: <dependency> <groupId>org.springframework</groupId> <artif

2020-06-24 16:48:51 1933

原创 mybatis之插件原理

MyBatis 通过提供插件机制,让我们可以根据自己的需要去增强 MyBatis 的功能。需要注意的是,如果没有完全理解 MyBatis 的运行原理和插件的工作方式,最好不要使用插件,因为它会改变系底层的工作逻辑,给系统带来很大的影响。MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rollback, get...

2020-06-13 11:37:34 137

原创 mybatis之一级、二级缓存

缓存是一般的 ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。跟 Hibernate 一样,MyBatis 也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。MyBatis 跟缓存相关的类都在 cache 包里面,其中有一个 Cache 接口,只有一个默认的实现类 PerpetualCache,它是用 HashMap 实现的。除此之外,还有很多的装饰器,通过这些装饰器可以额外实现很多的功能:回收策略、日志记录、定时刷新等等。但是无论怎么装饰,经过多少层装饰,最后使用的

2020-06-12 17:59:19 162

原创 mybatis之获取SqlSession

在编程式的案例开发过程中我们获取session的过程:String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession session = sqlSessio

2020-06-11 20:41:40 982 1

原创 mybatis之mapper文件解析

上文已经提到解析全局配置文件的过程,在最后解析mapper文件,那么本文就重点来剖析一下整个mapper文件是如何解析的?mapper文件的配置有四种方式,如下所示:<!-- 将包内的映射器接口实现全部注册为映射器 --><mappers> <package name="org.mybatis.builder"/></mappers><!-- 使用相对于类路径的资源引用 --><mappers> <map

2020-06-11 16:37:28 726

原创 mybatis之配置文件解析

从MyBatis官网我们可以知道,MyBatis 的配置文件的所有标签如下:configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionMan

2020-06-08 18:15:49 398

原创 Mybatis应用与配置

编程式使用案例 大部分时候,我们都是在 Spring 里面去集成 MyBatis。因为 Spring 对 MyBatis 的一些操作进行的封装,我们不能直接看到它的本质,所以先看下不使用容器的时候,也就是编程的方式,MyBatis 怎么使用。1.引入jar包 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis...

2020-06-04 21:11:24 231

原创 Spring:源码解读Spring IOC原理(四)

五、IoC容器的高级特性1、介绍      通过前面4篇文章对Spring IoC容器的源码分析,我们已经基本上了解了Spring IoC容器对Bean定义资源的定位、读入和解析过程,同时也清楚了当用户通过getBean方法向IoC容器获取被管理的Bean时,IoC容器对Bean进行的初始化和依赖注入过程,这些是Spring IoC容器的基本功能特性。Spring IoC容器还有一些高级特性,...

2018-03-11 21:21:16 151

原创 Spring:源码解读Spring IOC原理(三)

四、IOC容器的依赖注入1、依赖注入发生的时间当Spring IoC容器完成了Bean定义资源的定位、载入和解析注册以后,IoC容器中已经管理类Bean定义的相关数据,但是此时IoC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况发生:(1).用户第一次通过getBean方法向IoC容索要Bean时,IoC容器触发依赖注入。(2).当用户在Bean定义资源中为&lt;Bean&...

2018-03-11 21:20:32 256

原创 Spring:源码解读Spring IOC原理(二)

三、IoC容器的初始化?       IoC容器的初始化包括BeanDefinition的Resource定位、载入和注册这三个基本的过程。我们以ApplicationContext为例讲解,ApplicationContext系列容器也许是我们最熟悉的,因为web项目中使用的XmlWebApplicationContext就属于这个继承体系,还有ClasspathXmlApplication...

2018-03-11 21:19:34 159

原创 Spring:源码解读Spring IOC原理(一)

一、什么是Ioc/DI?IoC 容器:最主要是完成了对象的创建和依赖的管理注入等等。先从我们自己设计这样一个视角来考虑:所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们可配置的文件。对象和对象关系怎么表示?可以用 xml , propert...

2018-03-11 21:18:03 145

空空如也

空空如也

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

TA关注的人

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