SpringBoot
文章平均质量分 82
SpringBoot相关技术文章
每天都要进步一点点
工作日常技术学习、积累、总结
展开
-
@ConditionalOnBean、@ConditionalOnMissingBean、@ConditionalOnClass
是 Spring Boot 中的一个条件注解,用于在 Spring 容器中存在指定类型的 Bean 时才会生效。这个注解通常用于在某个 Bean 存在的前提下才加载另外一些相关的配置或 Bean,以实现根据已有的 Bean 进行条件化加载其他配置或 Bean。它可以帮助实现依赖于其他 Bean 存在与否的功能。原创 2023-07-31 10:48:55 · 1815 阅读 · 0 评论 -
基于springboot的mysql实现动态切换数据源
一、概述在项目中的某些场景中,需要对数据库进行一些优化。常用的有如下的实现方法:读写分离、引入缓存技术、主从复制、分库分表等。今天我们来简单介绍一些如何在程序中实现动态切换数据源,可能某台服务器性能比较好,让流量多的方法执行切换到此数据源去操作等等。当然这种思想也可以扩展实现为读写分离,主库(主数据源)只负责写操作,从库(从数据源)只负责读操作,前提是数据库之间需要提前搭建好主从复制环境。接下来,我们就将总结一下如何在代码层面动态切换不同的数据源。二、动态切换数据源具体实现主要有以下几个原创 2021-02-25 17:35:53 · 2047 阅读 · 3 评论 -
SpringBoot调用.asmx后缀的webservice接口
目录一、简介二、示例一、简介最近在项目中,在与其他公司做对接中需要回调一个对方的接口,根据对方提供的接口地址,发现是webservice的接口,而且接口后缀名为.asmx,因为现在webservice接口基本上都是wsdl这种形式,所以使用wsdl调用方式不能用,得使用其他方法。WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。其实WebService.原创 2020-06-28 09:36:38 · 4806 阅读 · 2 评论 -
SpringBoot自动配置原理分析
一、简介本文将对SpringBoot的自动配置原理进行分析,我们都知道,启动SpringBoot应用其实就是运行其main()方法,那么它到底是怎么启动的,还有是怎么自动装配Spring所需要的的那些组件呢,通过本文就可以对SpringBoot的自动配置原理有一定的认识和理解。二、自动配置原理我们首先从SpringBoot的主配置类的main()开始看起,示例代码如下:@SpringBootApplicationpublic class HelloWorldApplication {原创 2020-05-17 20:38:31 · 648 阅读 · 0 评论 -
RestTemplate使用详解
一、简介RestTemplate是spring内置的http请求封装,使用RestTemplate可以轻松的实现HTTP请求。本文将通过RestTemplate在Spring Cloud项目中跨服务调用的示例来讲解RestTempate中常用的GET和POST请求方法,其他方法因为不常用,所以用到的时候再做查阅即可。二、工程准备本文将通过在Spring Cloud中跨服务调用示例来说明...原创 2018-10-12 18:00:22 · 681 阅读 · 0 评论 -
SpringBoot整合RabbitMQ之Topic Exchange通配符交换机(学习总结)
一、简介Topic Exchange交换机也叫通配符交换机,我们在发送消息到Topic Exchange的时候不能随意指定route key(应该是由一系列点号连接的字符串,一般会与binding key有关联,route key的长度一般不能超过255个字节)。同理,交换机与队列之间的binding key也应该是点号连接成的字符串,当消息发送者发送信息到Topic Exchage交换机的时...原创 2018-09-22 10:34:58 · 8739 阅读 · 11 评论 -
SpringBoot整合RabbitMQ之Direct Exchange直连交换机(学习总结)
一、前言在总结Spring Cloud Bus消息总线的时候,需要用到RabbitMQ消息中间件,由于之前对MQ还不是很熟悉,所以花了一点时间研究了一下RabbitMQ。二、简介RabbitMQ 是一个消息中间件,以异步的方式处理消息,实现了与业务之间的解耦,同时还有消息分发,消息缓存等功能。RabbitMQ使用的是AMQP协议,全名是提供统一消息服务的应用层标准高级消息队列协议。默认...原创 2018-09-20 18:04:56 · 7904 阅读 · 1 评论 -
SpringBoot整合Swagger生成接口文档
一、简介Swagger是一个功能强大的API框架,它支持在线文档的查看以及在线文档的测试,方便我们前后端开发人员对接。Swagger使用起来也很简单,只需要加入swagger对应的依赖以及在controller类以及方法中加入相应的注解说明,swagger就会帮我们自动生成API接口文档。本文主要通过一个简单的模拟增删查改功能实现springboot整合swagger2生成Restful ...原创 2018-10-01 12:57:43 · 610 阅读 · 0 评论 -
SpringBoot整合RabbitMQ之Fanout Exchange扇形(广播式)交换机(学习总结)
一、简介通过学习Dierect Exchange以及Topic Exchange,我们已经知道RabbitMQ无非就是创建相应的交换机、队列、以及将队列与交换机进行绑定,上面两种方式的交换机都需要指定相应的route key才能完成消息的分发。本章讲解的Fanout Exchange交换机其实是一种广播式的消息通信方式,只要某个队列与Fanout Exchange交换机进行了绑定,那么一条消息...原创 2018-09-23 23:19:34 · 6553 阅读 · 0 评论 -
Spring Cloud Eureka服务注册中心 多节点搭建(学习总结)
一、前言:本文主要搭建Spring Cloud Eureka服务注册中心(多节点), 本文基于SpringBoot 1.5.2,Spring CloudCamden.SR6版本编写,版本不一致可能会有差异。下面就学习总结记录一下:二、搭建Eureka-Server首先,引入相应的依赖pom.xml:<?xml version="1.0" encoding="UTF-8"?...原创 2018-09-07 17:35:48 · 17270 阅读 · 16 评论 -
Spring Cloud Eureka服务注册中心 单节点搭建(学习总结)
一、前言:本文主要搭建Spring Cloud Eureka服务注册中心(单节点),不过一般生产环境都是多节点负载均衡,形成一个服务注册中心集群,这样一个注册中心崩了不会影响整个系统的运行以及接口的调用。本文基于SpringBoot 1.5.2,Spring CloudCamden.SR6版本编写,版本不一致可能会有差异。下面就学习总结记录一下:二、新建一个Eureka-Server:...原创 2018-09-07 16:52:23 · 835 阅读 · 0 评论 -
SpringBoot 任务调度(开发总结)
一、背景:由于前段时间(一直在忙项目,现在才有空总结一下。。。。)搞微信开发,大家都知道,微信access_token是会过期的(7200s),所以要定时刷新,基于此需求,所以把定时任务调度整合进了项目。其实实现定时任务有几种方法,有spring原生定时器功能、quartz也可以实现,但quartz配置起来麻烦(要配置JobDetail,Trigger,Scheduler等等),本文主要采用T...原创 2018-09-06 17:50:35 · 2578 阅读 · 0 评论