![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring
文章平均质量分 92
spring
叹人间,美中不足今方信
这个作者很懒,什么都没留下…
展开
-
Spring的父子容器
    在搭建 SpringMVC 过程的时候,通常在 web.xml 中配置 Spring 的监听器,也要注册 SpringMVC 的前端控制器 DispatchServlet,当然也有两个配置文件,spring 的 applicationContext.xml 和 SprinMVC 的 springmvc.xml,并且 applicationContex...原创 2018-03-31 20:43:29 · 1244 阅读 · 0 评论 -
Redis分布式锁/Redis的setnx命令如何设置key的失效时间(同时操作setnx和expire)
Redis的setnx命令是当key不存在时设置key,但setnx不能同时完成expire设置失效时长,即不能保证setnx和expire的原子性。我们可以使用set命令完成setnx和expire的操作,并且这种操作是原子操作。下面是set命令的可选项:set key value [EX seconds] [PX milliseconds] [NX|XX]EX seconds:设置失效时...原创 2019-05-30 14:30:35 · 63561 阅读 · 16 评论 -
Spring加载properties配置文件使用PropertyPlaceholderConfigurer还是使用PropertySourcesPlaceholderConfigurer
多模块的项目中,不建议直接在@Value中初始化默认值,各个模块的properties配置文件建议使用PropertyPlaceholderConfigurer加载,或者在主模块中定义一个PropertySourcesPlaceholderConfigurer,加载你需要的所有模块中的properties属性。使用PropertyPlaceholderConfigurer配置:主模块引入先...原创 2019-04-17 10:32:28 · 4122 阅读 · 0 评论 -
线程池中如何使用Spring事务
下面的代码在线程池中调用deviceInfoService服务的updateDeviceInfo方法,接着抛出空指针异常,然而数据没有回滚。public void testUpdate() { executor.execute(new Runnable() { @Override public void run() { DeviceInfo deviceInfo = new De...原创 2019-03-15 17:57:53 · 7609 阅读 · 2 评论 -
MySQL InnoDB(Spring)并发事务导致的死锁及解决方案
用MySQL客户端模拟并发事务操作数据时,如下表按照时间的先后顺序执行命令,会导致死锁。数据库数据如下select * from a ;+----+| id |+----+| 3 |+----+| 8 |+----+| 11 |+----+时间会话A会话B1begin;2delete from a where id = 4;...原创 2019-01-01 16:18:04 · 11124 阅读 · 14 评论 -
ClassPathScanningCandidateComponentProvider扫描class文件
ClassPathScanningCandidateComponentProvider是Spring提供的工具,可以按自定义的类型,查找classpath下符合要求的class文件。public static void main(String[] args) throws ClassNotFoundException { // true:默认TypeFilter生效,这种模式会查询出...原创 2018-09-14 15:16:03 · 9099 阅读 · 0 评论 -
spring classpath:和classpath*:区别和实际应用
Spring设计了一个Resource接口,该接口拥有对应不同资源类型的实现类,例如:ClassPathResource 类路径下的资源,资源以相对于类路径的方式表示FileSystemResource 文件系统资源,资源以文件系统路径的方式表示,如D:/conf/bean.xmlInputStreamResourceServletContextResourceUrlResour...原创 2018-09-05 14:50:15 · 14419 阅读 · 3 评论 -
Spring的事务机制
Spring 事务管理机制    Spring 没有直接提供事务的直接支持,它对外提供统一的 API,真正的事务提供者是实现了这一套 API 的 ORM 框架或者是其他支持事务的框架,例如 Hibernate、Mybatis 等等。     Spring 对事务管理的抽象层主要包括3个接口,Tra原创 2018-04-13 16:31:04 · 1234 阅读 · 0 评论 -
Spring Bean的生命周期
Bean 的初始化过程    一个类同时实现了 BeanNameAware, BeanFactoryAware, ApplicationContextAware, BeanPostProcessor, InitializingBean, DisposableBean接口时,Bean 的初始化过程为:.调用 BeanNameAware 的 setBe...原创 2018-04-14 23:19:14 · 7703 阅读 · 0 评论 -
Spring延时初始化RocketMQ消费者
Spring加载RocketMq消费者实例后会立即开始消费,不论Spring容器是否初始化完毕。这就意味着如果Spring容器由于某种原因导致容器初始化失败,但应用程序没有因为容器初始化失败而关闭,那么会出现不可预期的后果,例如Spring容器初始化失败,导致定时任务不能正常执行,而MQ消费需要定时任务从数据库中拉取的配置信息,这样会导致MQ消费失败。因此,可以在Spring容器启动完成后再初始化...原创 2019-07-23 17:23:22 · 2478 阅读 · 0 评论