------springboot
从心归零
这个作者很懒,什么都没留下…
展开
-
springboot i18n国际化后台多种语言设置的方式
之前有做过手机端后台的国际化,因为手机统一传递了language参数,所以只要设置LocaleChangeInterceptor就行了/** * 配置国际化语言 */@Configurationpublic class LocaleConfig extends WebMvcConfigurerAdapter{ /** * 默认解析器 其中locale表示默认语言 */ @Bean public LocaleResolver localeResolver()原创 2020-08-28 17:23:00 · 4847 阅读 · 0 评论 -
tidb的乐观锁功能bug
之前曾经用过springboot自带的乐观锁功能,就是在实体类中增加一个版本号字段,加上@Version注解。当时测试的时候是可以的,当实体类版本不对的时候,调用save方法就会抛出ObjectOptimisticLockingFailureException异常。但是后面我想加一个切面实现重试机制的时候发现突然行不通了,在tidb的环境下,会执行update set......where id ...原创 2019-04-16 14:58:10 · 1222 阅读 · 1 评论 -
自定义springcache实现事务提交后处理缓存
之前说到缓存的管理问题,具体看redis缓存管理问题,我想要实现缓存的逻辑在事务提交之后,考虑使用事务监听器,这个我之前也用过,使用监听器实现在事务提交后发送消息,那么问题是我如何拦截到注解,然后发出事件。有两种方案,一是使用自定义注解,然后用aop自己实现一整套缓存体系,但是有一个我之前就遇到过的问题,就是aop在接口上不起效,而spring-data-jpa的dao层都是直接用接口的...原创 2019-01-08 11:12:15 · 2578 阅读 · 5 评论 -
使用@ConditionalOnExpression决定是否生效注释
因为用了好几套消息队列,我想在配置文件中配置如何开关切换消息队列。生产者还好,我只要决定读取配置文件决定用哪个生产者发送消息就行,但是rabbitmq的消费者是用注解启动的,所以这个时候就用到了@ConditionalOnExpression#消费者总开关,0关1开mq.cumsumer.enabled=1#rocketmq消费者开关,true开启,false关闭rocketmq.co...原创 2018-10-26 14:53:30 · 35242 阅读 · 4 评论 -
springboot返回前端对象null转为空字符串
在测试移动端接口的时候,手机端开发的人要求我们把返回对象null转成空字符串,觉得页面显示null不美观。虽然我让他们在手机端判断一下就好,不过他们很不情愿的样子,实际上就是懒。算了,我就上网查找了一下资料import java.io.IOException;import org.springframework.boot.autoconfigure.condition.Condition...原创 2018-07-19 15:40:05 · 30901 阅读 · 13 评论 -
如何将springboot项目部署到tomcat上
之前开始接触springboot时研究了好久将springboot部署到tomcat上,成功了之后又过了好久,然后今天做了一个简单的demo部署后却报404。于是又重新查资料去研究,并且查看之前成功的项目。最后终于成功了却又花了我两个小时,实在不应该,这次我就讲这个记下来吧。其实很简单,一加上依赖 <dependency> <groupId>org.springfr...原创 2018-07-06 16:47:01 · 3007 阅读 · 1 评论 -
springboot @requestbody的编码问题
最近遇到一个很蛋疼的问题,机器发来http请求,信息都放在body Data里用gb2312编码,然后后台用@RequestBody来接受,这时问题来了,机器发来的请求没有设置content-type,于是默认就是content-type:application/x-www-form-urlencoded,然后spring容器就默认设置CharacterEncoding为utf-8,来解码。更奇怪...原创 2018-07-12 11:02:54 · 15734 阅读 · 21 评论 -
springboot初始化执行sql语句
开发的时候需要增加一些函数和表,同时因为一些基础数据例如字典表也需要插入一些数据,当然我可以跟组员说一声然后把sql语句给他们在本地执行,但是这样太low,不够自动化。于是就开始研究如何在springboot启动时执行sql语句。最后查到资料spring.datasource.schema=classpath:schema.sql这个配置项决定建库文件的位置,注意classpath,之前我在网上查...原创 2018-05-29 09:37:09 · 14057 阅读 · 2 评论 -
springboot redis缓存功能的初步了解和使用
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <...原创 2018-06-04 18:26:55 · 181 阅读 · 0 评论 -
elastic-job分布式定时器实践
项目的定时任务比较多。主管想要做成分布式定时器。说起来,我们要用springcloud+docker做分布式集群服务,又要做分布式分片数据库,用spring-session和redis做分布式缓存,rocketmq做消息中间件,几乎所有环节都做成分布式系统了。虽然我不觉得这个项目有这么大的业务需求,但是反正我是学到很多东西了。我们的主管挺奇怪的,他说他都没用过这些东西,但是他十分乐于用这些新东西,...原创 2018-06-12 15:29:39 · 2356 阅读 · 0 评论