Spring Boot
文章平均质量分 74
样young
没有什么可介绍的,希望能够在这里学到更多的知识
展开
-
springboot整合多数据源以及多数据源中的事务处理
前言本篇文章主要介绍的是springboot整合多数据源以及多数据源事务处理。多数据源就是在同一个项目中连接多个数据库,使用多个数据库可能是由于业务量扩大进行数据库拆分,也可能是根据项目实际情况需要连接多个数据库。比如我之前有个项目,需要访问一个已有的数据库进行查询操作,但不能修改,还需要新建数据库表进行其他的业务处理,这时就需要使用多数据源。GitHub源码链接位于文章底部。创建数据库创建member数据库,添加一张user表,字段为id主键自增,name,age;创建order数据库转载 2021-05-18 15:58:20 · 1631 阅读 · 1 评论 -
SpringBoot中RedisTemplate订阅发布对象
解说RedisMessageListenerContainer Redis订阅发布的监听容器,你的消息发布、订阅配置都必须在这里面实现 * addMessageListener(MessageListenerAdapter,PatternTopic) 新增订阅频道及订阅者,订阅者必须有相关方法处理收到的消息。 * setTopicSerializer(RedisSerializer) 对频道内容进行序列化解析MessageListenerAdapter 监听适配器 MessageListe转载 2021-05-14 15:59:05 · 1415 阅读 · 0 评论 -
K8S健康检查--探针
参考链接https://segmentfault.com/a/1190000021402257https://jimmysong.io/kubernetes-handbook/guide/configure-liveness-readiness-probes.htmlhttps://www.jianshu.com/p/d87a50272310背景:在k8s部署服务的时候,会出现pod是running状态,也可以进入到容器中,但是服务端口没有起,尤其再是小组件,没有受到关注的情况下,就.转载 2021-05-11 14:23:02 · 695 阅读 · 0 评论 -
MyBatis:使用MyBatis执行SQL多出LIMIT ?的问题,MyBatis分页查询SQL自动执行SELECT count(0)的Bug,PageHelper.clearPage()清理缓存
情景:1.在使用MyBatis执行SQL(包含分页功能)的时候,明明SQL里没写LIMIT,执行时却多出了一个LiMIT。2.在使用MyBatis执行SQL的时候,明明SQL里写的是SELECT * ...,执行时却执行了SELECT count(0)...,后文中对此Bug进行说明。解决方案:分页查询数据之前先清理分页缓存。先执行PageHelper.clearPage();SQL代码如下:发现SQL中并没有LIMIT。查询结果仅一页,期望的结果是多页。查..转载 2021-02-23 16:50:42 · 5673 阅读 · 3 评论 -
Mybatis中进行批量更新
一.更新多条数据,每条数据都不一样背景描述:通常如果需要一次更新多条数据有两个方式,(1)在业务代码中循环遍历逐条更新。(2)一次性更新所有数据(更准确的说是一条sql语句来更新所有数据,逐条更新的操作放到数据库端,在业务代码端展现的就是一次性更新所有数据)。两种方式各有利弊,下面将会对两种方式的利弊做简要分析,主要介绍第二种方式在mybatis中的实现。1.逐条更新(java实现)这种方式显然是最简单,也最不容易出错的,即便出错也只是影响到当条出错的数据,而且可以对每条数据都比较可控,更新失败转载 2021-02-23 16:29:35 · 2250 阅读 · 0 评论 -
mybatis 报错:Caused by: java.lang.NumberFormatException: For input string
mybatis的if标签之前总是使用是否为空,今天要用到字符串比较的时候遇到了困难,倒腾半天,才在一个论坛上找到解决方法。笔记一下,如下:转自:https://code.google.com/p/mybatis/issues/detail?id=262错误描述:<select id="sltTreatment" resultType="com.vitaminmd.sunny.core.bo.Treatment"> select * from trea转载 2020-12-03 20:55:14 · 964 阅读 · 0 评论 -
SpringBoot项目中前端页面通过URL访问本地文件夹(访问静态文件)
前端页面通过URL访问本地文件夹在application.yml中添加配置 实现WebMvcConfigurer接口 前端页面中进行访问前端页面通过URL访问本地文件夹 因为SpringBoot项目中使用的嵌入Tomcat,所以前端页面不能像以前那样直接将从Tomcat很目录访问文件。解决办法:继承WebMvcConfigurer接口对访问URL进行拦截,然后将访问文件的URL映射至本地文件夹1.在application.yml中添加配置首先在本地创建文件夹acc...转载 2020-09-04 17:21:53 · 3464 阅读 · 0 评论 -
Java中mongodb使用MongoCollection和BasicDBObject条件查询
本文转自:https://www.cnblogs.com/richard-ju/p/L2018006.html//链接数据库 MongoClient mongoClient = new MongoClient( "172.26.xxx.xxx" , 27017 ); MongoDatabase mongoDatabase =mongoClient.getDatabase("xxxx"); MongoCollection<Document>...转载 2020-05-22 10:28:59 · 2541 阅读 · 0 评论 -
【PageHelper分页】实现拦截pageNum和pageSize
本文转自:https://blog.csdn.net/tr1912/article/details/80525621 我们在使用pageHelper的时候,总是需要往后端传pageNum和pageSize,以便我们在后面做分页处理,但是我们在controller中也需要在方法参数中接收并带到我们的数据查询层,中间基本对于这两个变量没有任何操作,这样做是在的很麻烦。今天我们写一个拦截,让这两个变量可以直接从请求中直接到我们的查询层,跳过从controller层到service层的艰辛。一...转载 2020-05-19 08:50:27 · 4886 阅读 · 0 评论 -
Mybatis调用MySQL存储过程(返回参数,单结果集,多结果集)
一、接收一个返回值使用Map接收返回参数,output参数放在传入的param中创建表:DROP TABLE IF EXISTS `demo`;CREATE TABLE `demo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8;-...转载 2020-05-14 21:01:46 · 2051 阅读 · 0 评论 -
Springboot中前端传同属性名多对象的处理
本文转自:https://blog.csdn.net/selina5288/article/details/88167939在开发过程中我们经常会遇到表单提交数据时,具有相同属性名的两个对象。先创建两个对象,用户和产品public class User { private Integer id; private String name; public In...转载 2020-04-30 17:13:10 · 1839 阅读 · 0 评论 -
Elasticsearch 6.4基本操作-Java版
本文转自:https://www.cnblogs.com/swordfall/p/9981883.html1. Elasticsearch Java API有四类client连接方式TransportClient RestClient Jest Spring Data Elasticsearch其中TransportClient和RestClient是Elasticsearch原生...转载 2020-04-01 14:36:19 · 755 阅读 · 0 评论 -
前后端分离项目,如何解决跨域问题
本文转自:http://www.imooc.com/article/292349SpringBoot实战电商项目mall(20k+star)地址:https://github.com/macrozheng/mall摘要跨域资源共享(CORS)是前后端分离项目很常见的问题,本文主要介绍当SpringBoot应用整合SpringSecurity以后如何解决该问题。什么是...转载 2020-03-17 19:06:00 · 917 阅读 · 0 评论 -
Mybatis处理select中where后面的and的两种方式
第一种方式:后面跟1=1,使条件绝对成立:<select id="selectStudent"> select * from student where 1=1 <if test=" id !=null and id !='' "> and id = #{id} </if> <if test=" name !=null and name...原创 2020-02-07 15:14:31 · 19317 阅读 · 2 评论 -
SpringBoot中Service层事务控制
SpringBoot中使用事务比较简单,在Application启动类上添加@EnableTransactionManagement注解,然后在service层的方法上添加@Transactional注解@Transactional属性属性 类型 描述 value String 可选的限定描述符,指定使用的事务管理器 propagation enum...转载 2019-11-29 14:18:07 · 8565 阅读 · 1 评论 -
Spring Cloud统一配置中心(Config)
参考:https://www.jianshu.com/p/997600098e6c 在普通单体应用,我们常使用配置文件(application(*).properties(yml))管理应用的所有配置。这些配置文件在单体应用中非常胜任其角色,并没有让我们感觉到有头疼的地方。但随着微服务框架的引入,微服务数量就会在我们产品中不断增加,之前我们重点考虑的是系统的可伸缩、可扩展性...转载 2019-11-07 14:02:53 · 288 阅读 · 0 评论 -
@Scope注解种类
@Scope(value=ConfigurableBeanFactory.SCOPE_PROTOTYPE)这个是说在每次注入的时候回自动创建一个新的bean实例@Scope(value=ConfigurableBeanFactory.SCOPE_SINGLETON)单例模式,在整个应用中只能创建一个实例@Scope(value=WebApplicationContext.SCOPE_GLO...原创 2019-10-31 11:44:50 · 761 阅读 · 0 评论 -
Spring Boot中使用异步线程池、调度任务线程池的配置
转自:https://www.cnblogs.com/slei212/p/10732260.html、https://segmentfault.com/a/1190000012506685、https://www.iteye.com/blog/zw7534313-2435135从实现的技术上来分类,Java定时任务目前主要有三种:Java自带的java.util.Timer类,这个类允许调...转载 2019-10-31 10:23:13 · 2761 阅读 · 0 评论 -
Elasticsearch之RestHighLevelClient配置
https://www.hellojava.com/a/45783.htmlhttps://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/_basic_authentication.htmlJava REST Client [7.4]»Java Low Level REST Client»Common ...转载 2019-10-30 19:47:10 · 4756 阅读 · 0 评论 -
Spring Boot中使用Swagger2构建强大的RESTful API文档
本文由程序猿DD-翟永超创作,采用CC BY 3.0 CN协议进行许可,转自:http://blog.didispace.com/springbootswagger2/1.相关介绍及配置由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,...转载 2019-10-30 11:04:04 · 251 阅读 · 0 评论 -
Spring Boot构建RESTful API与单元测试
本文由程序猿DD-翟永超创作,采用CC BY 3.0 CN协议进行许可,转自:http://blog.didispace.com/springbootrestfulapi/首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入...转载 2019-10-30 10:05:47 · 214 阅读 · 0 评论 -
Spring事务回滚总结
参考:https://www.cnblogs.com/xiaohan666/p/9272581.html事务的管理方式有两种,第一种是编程式事务管理,需要将数据库的自动提交等取消,并且需要自己编写事务代码,第二种则是声明式事务管理模式,spring利用spring AOP特性编写了注解即题目中所提到的方式来管理事务,避免开发人员编写大量的事务代码。一、特性先来了解一下@Transact...原创 2019-10-24 09:39:36 · 434 阅读 · 0 评论 -
SpringBoot使用Quartz集群定时任务
本文转载自:https://my.oschina.net/u/3164861/blog/1812663简介Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能, 但就其简易形式看,你会发现它易用得简直让人受不了!。简单地创建一个实现org.quartz.Job接口的java类。Job接口包含唯一的方法:public...转载 2019-10-24 09:06:38 · 1452 阅读 · 0 评论 -
非事务方法与事务方法相互调用的事务回滚问题
项目环境:sprinigboot项目任务:每天定时更新170条数据,某条数据更新出错时需要记录下来并回滚当条记录所关联的表数据。实现方式:编写了两个方法来实现,一个方法(A)实现定时更新数据的功能,另一个方法(B)调用A方法实现更新数据异常时能够重试三次,给A方法加了事务,B方法没有加,项目是直接调用B方法完成项目任务。但是在测试的时候直接使用A方法能够实现异常时事务回滚,使用B方法则不能...原创 2019-10-23 13:56:44 · 3933 阅读 · 1 评论 -
lombok中的@Data注解及其他注解说明
在Java Bean定义的时候,需要给每个字段添加getter and setter。可是我们也经常会看到如下所示的这种非常简洁的代码:importlombok.Data;@DatapublicclassUser {privateString id;privateString username; private String email;}...原创 2019-09-11 10:46:55 · 12959 阅读 · 0 评论 -
Swagger简介及使用
Swagger的由来随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。依赖<!-- swagger --><depend...原创 2019-09-10 09:37:07 · 353 阅读 · 0 评论 -
Spring Boot集成Kafka简单示例
kafka概念 Topic:消息根据Topic进行归类,可以理解为一个队里。 Producer:消息生产者,就是向kafka broker发消息的客户端。 Consumer:消息消费者,向kafka broker取消息的客户端。 broker:每个kafka实例(server),一台kafka服务器就是一个broker,一个集群由多个broker组成,一个broker可以容纳多个...转载 2019-09-09 15:46:13 · 631 阅读 · 0 评论 -
Spring Security退出登录设置
退出登录时Spring Security默认为我们做了什么: 1.使当前Session失效 2.清除与当前用户相关的remember-me记录 3.清空当前的SecurityContext 4.重定向到登陆页面package cn.coreqi.security.config;import cn.coreqi.security.Filter.SmsCodeFil...原创 2019-09-06 15:37:24 · 4096 阅读 · 0 评论 -
RabbitMQ的6种工作模式
1.RabbitMq1.1介绍RabbitMQ是一个消息代理:它接受并转发消息。你可以把它当成一个邮局:当你想邮寄信件的时候,你会把信件放在投递箱中,并确信邮递员最终会将信件送到收件人的手里。在这个例子中,RabbitMQ就相当与投递箱、邮局和邮递员。AMQP协议中的核心思想就是生产者和消费者隔离,生产者从不直接将消息发送给队列。生产者通常不知道是否一个消息会被发送到队列中,只是将消息...转载 2019-09-03 08:38:05 · 371 阅读 · 0 评论 -
使用MySQL时出现The server time zone value '�й���ʱ��' is unrecogni的解决方法
开发数据库相关的项目时,出现如下的异常:org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: The server time zone value '�й���ʱ��' is un...原创 2019-08-22 14:27:22 · 32717 阅读 · 16 评论 -
在IDEA中实现Spring Boot热部署
引言:在idea中实现Spring Boot热部署是很简单的,这里分三步就行了新建Spring Boot项目 在pom.xml中添加热部署的依赖 IDEA配置热部署: 简单来说就可以实现修改代码,配置文件什么的就不需要重启服务器,实现热部署之后idea会自动在我们代码保存之后就重启服务器,而且速度很快。一 : 新建Spring Boot项目1. 选择Spring Initiali...转载 2019-08-05 23:11:05 · 280 阅读 · 0 评论