Spring
吃胖点儿
“学会求知,学会做事,学会共处,学会做人。”致自己共勉 。技术探讨可以加281954986
展开
-
spring之Hystrix从原理到实战剖析
背景分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。雪崩效应常见场景硬件故障:如服务器宕机,机房断电,光纤被挖断等。 流量激增:如异常流量,重试加大流量等。 缓存穿透:一般发生在应用重启,所有缓存失效时,以及短时间内大量缓存失效时。大量的缓存不命中原创 2020-06-30 16:28:10 · 250 阅读 · 0 评论 -
将注册中心从 Consul 无缝的迁移到 Nacos ?
近日,国外的商业软件公司HashiCorp在官网宣布:不允许中国境内使用、部署和安装该企业旗下的【企业版】产品和软件。PLEASE NOTE THAT THE SOFTWARE MAY NOT BE USED, DEPLOYED OR INSTALLED IN THE PEOPLE’S REPUBLIC OF CHINA.HashiCorp旗下的知名的开源软件有 Consul、Vagrant、Terraform等,虽然在最后官方立马对文章进行了修改和解释,指出只是因为国内管制,不..原创 2020-06-10 20:46:32 · 1376 阅读 · 0 评论 -
设计模式在Spring中的运用
.简单工厂(非23种设计模式中的一种)实现方式:BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。实质:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。实现原理:bean容器的启动阶段: 读取bean的xml配置文件,将bean元素分别转换成一个BeanDefinition对象。 然后通过BeanDefinition原创 2020-05-23 11:25:35 · 133 阅读 · 0 评论 -
springboot之整合Mycat实现数据库的读写分离
前言MyCat一个彻底开源的,面向企业应用开发的大数据库集群。基于阿里开源的 Cobar 产品而研发。能满足数据库数据大量存储;提高了查询性能。文章介绍如何实现 MyCat 连接MySQL 实现主从分离,并集成 SpringBoot 实现读写分离。MySQL配置主从关系说明 192.168.0.105 Linux 数据库作为主master数据库 127.0....原创 2020-04-29 10:32:52 · 422 阅读 · 0 评论 -
Springboot 2.0 +protobuf + Netty 实战(附源码)
前言这一篇文章主要介绍如何用Springboot 整合 Netty,这里也是在网上搜寻了一些Netty例子学习后总结来的,借鉴了他人的写法和经验。如有重复部分,还请见谅。关于SpringBoot 如何整合使用 Netty ,我将分为以下几步进行分析与讨论: 构建Netty 服务端 构建Netty 客户端 利用protobuf定义消息格式 服务端空闲检测...原创 2020-04-26 11:53:51 · 265 阅读 · 0 评论 -
spring boot之的全局异常优雅封装实践
前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建这几个部分每个公司要求都不同,没有什么“一定是最好的”标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看是否规范!本文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了...原创 2020-04-09 18:25:51 · 1135 阅读 · 1 评论 -
Spring Boot之整合GraphQL + Kotlin,上手指南
GraphQl介绍 GraphQL 查询时结构化的,信息是类树结构展示的。值类型可以理解为叶子,对象类型可以理解为树干 GraphQL 是一种描述如何请求数据的语法,通常用于客户端向服务器请求数据。 GraphQL 层位于客户端和一个或多个数据源之间,按照你的指示接收客户端请求,然后获取必要的数据。 GraphQL API 围绕三个主要构建块组织:模式(schema)、查询(q...原创 2020-04-07 17:51:24 · 827 阅读 · 0 评论 -
Spring boot之整合Netty的hello world
前言 Protobuf 介绍 使用 代码编写 服务端 客户端 功能测试 其它 前言本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容Protobuf介绍protocolbuffer(以下简称PB)是google 的...原创 2020-04-07 17:19:38 · 130 阅读 · 0 评论 -
Spring Cloud 之Gateway的前世今生
Spring Cloud Gateway是在Spring生态系统之上构建的API网关服务,它旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能, 例如:熔断、限流、重试等。Spring Cloud Gateway 具有如下特性: 基于Spring Framework 5、Project Reactor 和 Spring Boot 2.0 进行构建; 动...原创 2020-04-06 20:53:20 · 713 阅读 · 0 评论 -
SpringBoot之监控Actuator
前言去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上。这不,最近我就被分配了要将我们核心的微服务应用全部监控起来的任务。我们的微服务应用都是SpringBoot 应用,因此就自然而然的想到了借助Spring Boot 的Actuator 模块。本篇是我在完成这个工单之后,对Spring Boot Actuator模块 学习应用的总结。在本篇文章中,你可以学习到:1、S...原创 2020-04-02 11:06:11 · 228 阅读 · 0 评论 -
SpringBoot之注解的来龙去脉
一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用Ja...原创 2020-04-02 10:56:35 · 180 阅读 · 0 评论 -
spring boot 集成nacos的案例
1.现在nacos进行配置添加2.springboot项目集成nacosnacos上有说明,根据不同的工程进行配置,如下图集成nacos客户端包 <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-s...原创 2020-04-01 10:02:53 · 317 阅读 · 0 评论 -
Spring MVC 思想的讲解
目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc DispatcherServlet说明五、spring mvc 父子上下文的说明六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css八、spring mvc 请求如何映射到具转载 2013-07-24 13:35:37 · 6858 阅读 · 2 评论 -
Spring之你喜欢的 PROPAGATION_REQUIRED事务
PROPAGATION_REQUIRED事务 采用编程式事务1、 getCurrentSession()与openSession()的区别?* 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会* 采用getCurrentSessio原创 2013-05-09 17:06:44 · 7546 阅读 · 0 评论 -
Spring中的自动装配(default-autowire="byName")
自动装配,官方给出的定义是这样:Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。由于autowire可以针对单个bean进行设置,因此可以让有些bean使用autowire,有些bean不采用。autow原创 2013-05-07 08:52:28 · 665 阅读 · 0 评论 -
Spring中的自动装配案例分析
Spring_Autowiring collaborators在Spring3.2.2中自动装配类型,分别为:no(default)(不采用自动装配)、byName,byType,constructor下面来分别介绍一下这些是如何自动装配的 ModeExplanationno(Default) No autowiring.原创 2013-04-25 16:41:52 · 2348 阅读 · 0 评论 -
springMVC-mvc.xml 配置文件片段讲解 (未使用默认配置文件名)
Xml代码 context:component-scan base-package="com.app,com.core,JUnit4" >context:component-scan> mvc:annotation-driven /> bean class="org.springfr原创 2013-02-01 12:19:05 · 999 阅读 · 0 评论 -
Spring面试题之神奇的scope的作用域
今天研究了一下scope的作用域。默认是单例模式,即scope="singleton"。另外scope还有prototype、request、session、global session作用域。scope="prototype"多例。再配置bean的作用域时,它的头文件形式如下:如何使用spring的作用域:1bean id="role" cla原创 2013-04-23 09:06:51 · 935 阅读 · 0 评论 -
Spring+ibatis批量存储
public class LocalDaoImpl extends SqlMapClientDaoSupport implements LocalDao { public void insertBuNaTaxBatLst(final PaginatedList list) { getSqlMapClientTemplate().execute(new原创 2013-04-23 11:42:01 · 628 阅读 · 0 评论 -
Spring初始化容器
Spring初始化容器.三种经常用到的实现:一、ClassPathXmlApplicationContext:从类路径中加载。二、FileSystemXmlApplicationContext:从文件系统加载。三、XmlWebApplicationContext:从web系统中加载。使用1、bean工厂:最简单的容器,提供了基础的依赖注入支持。创建各种类型的Bean.B转载 2013-04-23 17:03:58 · 640 阅读 · 0 评论 -
Spring中的事务隔离级别
Spring中的事务隔离级别l ISOLATION_DEFAULT 默认隔离级别 l ISOLATION_READ_UNCOMMITTED 最低隔离级别。允许读事务未提交的数据,会产生脏读、不可重复读和幻象读。 l ISOLATION_READ_COMMITTED 保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不原创 2013-04-23 11:45:47 · 743 阅读 · 0 评论 -
spring各种邮件发送
Spring邮件抽象层的主要包为org.springframework.mail。它包括了发送电子邮件的主要接口MailSender,和值对象SimpleMailMessage,它封装了简单邮件的属性如from, to,cc, subject,text。 包里还包含一棵以MailException为根的checked Exception继承树,它们提供了对底层邮件系统异常的高级别抽象。 要获得关于转载 2013-04-23 11:44:25 · 605 阅读 · 0 评论 -
spring事件监听的功能
用一个简单的例子来实现spring事件监听的功能 这个例子主要功能是,记录那些用户是第一次登入系统,如果用户是第一次登入系统,则调用spring的事件监听,记录这些用户。 主要用到的spring的类和接口有: org.springframework.context.event.ApplicationEvent抽象类及其子类来实现事件; org原创 2013-04-23 11:50:10 · 785 阅读 · 0 评论 -
Spring中的lazy-init详解
ApplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化(也就是依赖注入)。提前实例化意味着作为初始化过程的一部分,ApplicationContext实例会创建并配置所有的singleton bean。通常情况下这是件好事,因为这样在配置中的任何错误就会即刻被发现(否则的话可能要花几个小时甚至几天)。 该bean默认的设置为:原创 2013-04-23 11:39:46 · 743 阅读 · 0 评论 -
Sping bean的生命周期
Spring中Bean的生命周期 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共原创 2013-04-24 11:03:02 · 1082 阅读 · 0 评论 -
Spring中bean生命周期加深
在传统的Java应用中,Bean的生命周期非常简单。Java的关键词new用来实例化Bean(或许他是非序列化的)。这样就够用了。相反,Bean 的生命周期在Spring容器中更加细致。理解Spring Bean的生命周期非常重要,因为你或许要利用Spring提供的机会来订制Bean的创建过程。 Spring bean的生命周期如下:1. 容器寻找Bean的定义信息原创 2013-04-24 11:05:51 · 635 阅读 · 0 评论 -
spring中在ApplicationContext或在BeanFactory中Bean的生命周期总结
spring中在ApplicationContext或在BeanFactory中Bean的生命周期总结 Spring中Bean的生命周期,在学习spring的过程中bean的生命周期理解对学习spring有很大的帮助,下面我就分别介绍在ApplicationContext和BeanFactory中Bean的生命周期。1、在ApplicationContext中Bean的生命周期生命周期转载 2013-04-24 11:16:02 · 1063 阅读 · 0 评论 -
Spring_集合装配
In the,, , and elements,you set the properties and arguments of theJava Collection types List, Set, Map, and Properties,respectively。案例分析:1、创建相应的Java类1.1创建一个CollectionBean存放Java Collections t转载 2013-04-25 10:13:37 · 1427 阅读 · 0 评论 -
Spring中的ref标签的使用
ref元素是用在property中,来设置需要引用的容器管理的其它Bean。 它的用法:,这里主要分析一下这三个参数的作用。 这次先看实例,再进行讲解。 · 先建立一个包:javamxj.spring.basic.ref ,然后把以下5个文件放在这个包下。HelloBean.javapackage javamxj.spri原创 2013-04-25 11:37:06 · 4022 阅读 · 1 评论 -
Spring MVC 双亲上下文的说明
如果你使用了listener监听器来加载配置,一般在Struts+Spring+Hibernate的项目中都是使用listener监听器的。如下Java代码 class>org.springframework.web.context.ContextLoaderListenerclass> Spring会创建一个全局的WebAp原创 2013-02-01 12:13:56 · 4355 阅读 · 0 评论