spring
文章平均质量分 91
雨润泽林
最好的学习方法是分享
展开
-
搞懂Spring的事务传播机制
搞懂Spring的事务传播机制事务传播枚举:org.springframework.transaction.annotation.PropagationREQUIRED(0),SUPPORTS(1),MANDATORY(2),REQUIRES_NEW(3),NOT_SUPPORTED(4),NEVER(5),NESTED(6);@Transactional(propagation= Propagation.REQUIRED)结论: 使用当前的事务,如果当前没有事务,则自己新建一个原创 2021-04-24 22:23:17 · 255 阅读 · 0 评论 -
SpringBoot 的jar包为什么可以直接启动?
首先,先准备一个jar包,我这里准备了一个demo-0.0.1-SNAPSHOT.jar;先来看看jar包里面的目录结构:├── BOOT-INF│ ├── classes│ │ ├── application.properties│ │ └── com│ │ └── sf│ │ └── demo│ │ └── DemoApplication.class│ └── lib│ ├─原创 2020-06-10 22:54:09 · 1969 阅读 · 0 评论 -
Springboot 基于@Retryable实现重试机制
首先,添加依赖配置:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency><dependency> <g...原创 2020-05-03 21:05:35 · 1847 阅读 · 9 评论 -
简单实现基于Spring实现责任链(二)
场景: OA审核;员工提交请假条,需要组长、主管、老板、HR等审批。话不多说了,直接上代码看吧首先,构建一个抽象的审批类->ProcessChainpackage com.example.springchaindemo.chain.oa;/** * @projectName: spring-chain-demo * @className: ProcessChain * @...原创 2020-03-30 19:59:14 · 760 阅读 · 0 评论 -
简单实现基于Spring实现责任链(一)
场景: 短信发送;有很多规则,例如:开关、发送次数、黑名单、手机格式校验等等。 现在,下面基于这种场景来实现过滤式责任链,如果不使用责任链,就会产生很多if else存在,并且下次要添加新的规则,需要改动原来的代码,不符合开闭原则。 这里为了演示,实现起来会比较简单,重点是要理解责任链这个东西的使用方法。短信发送场景:短信发送SmsDTO实体对象:package com.exam...原创 2020-03-30 19:41:06 · 1617 阅读 · 0 评论 -
基于springboot2.x集成缓存注解及设置过期时间
添加以下配置信息; /** * 基于注解添加缓存 */@Configuration@EnableCachingpublic class CacheConfig extends CachingConfigurerSupport { private final RedisConnectionFactory redisConnectionFactory; Cac...原创 2019-08-12 17:16:10 · 4482 阅读 · 0 评论 -
面试题:什么是控制反转和依赖注入?
我们都知道控制反转和依赖注入是spring ioc的核心思想,也是面试经常被问到的话题,看到这篇文章又可以跟面试吹逼了,想要了解这两个就必须要了解设计原则中的依赖倒置原则依赖倒置原则 指程序要依赖于抽象接口,不要依赖于具体实现。举个栗子 假设公司需要开发一辆车,以轮胎为主体,就需要先设计轮胎,然后根据轮胎大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这样就出现了一...原创 2019-06-16 23:39:05 · 5005 阅读 · 0 评论 -
springboot 优雅停机
最近领导要求我处理公司目前的一个痛点,他们每次发版都是直接将一个进程kill -9 结束进程,然后将新包替换上去,这样会导致一两秒内某些请求服务不可用,而且正在工作的线程会被立即中断,我心里想,那么暴力,还好是家小公司,业务量不会那么大,不然很多用户会奔溃的。 我一开始跟领导提出使用灰度方案A/B切换来做,就是准备两台环境,然后两套环境进行来回切换,从而实现无缝替换新包,可惜领导不太愿意接...原创 2019-06-15 00:09:09 · 5240 阅读 · 0 评论 -
Spring如何获取Properties文件的信息
通过spring的配置(applicationContext.xml),如:(具体位置可以参考本系列的前两篇博文),这个就配置了spring自动加载当前classpath下的config.properties文件,这个config.properties的内容如下:# oracle configuration ora_driver=oracle.jdbc.driver.OracleDriver转载 2016-05-19 11:06:01 · 672 阅读 · 0 评论 -
servlet在spring中加载的顺序
dispatcher org.springframework.web.servlet.DispatcherServlet 1 dispatcher /其中1标签定义了servlet载入的顺序:1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。2)它的值必须是一个整数,表示servl原创 2016-05-17 10:40:32 · 2366 阅读 · 0 评论 -
Spring 缓存注解@Cacheable的用法
在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法。首先,在使用@Cacheable之前,我们要做好准备工作。第一步:要导入相应的jar包。原创 2016-05-05 10:33:15 · 55300 阅读 · 0 评论 -
Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)
在项目启动中出现这个报错,让我感到困惑,经过我一番捣腾终于知道是啥原因,下面解释一下为什么会出现这样的错误:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderInfoUCMPController': Injection of autowired depen原创 2016-05-12 16:41:32 · 22636 阅读 · 3 评论 -
Spring MVC 通过@Value注解读取.properties配置
第一步:application.properties配置文件中建立内容:ios.test.appKey=824f1694e205e2973933482cios.test.masterSecret=206399b1ce5e75236bcf0490第二步:配置applicationContext-commom.xml文件: classpath:原创 2016-04-25 15:54:35 · 3475 阅读 · 0 评论