
Spring
wtopps
当你的才华满足不了你的野心时,你应该滚去学习
展开
-
Spring + Open Feign upload file 文件上传
问题描述在使用Spring + Open Feign的时候,在上传文件时遇见了些问题,由于其官方文档(https://github.com/OpenFeign/feign) 中没有提及到file upload的功能,因此使用的时候遇见了一些问题,Google尝试了好多种方案后,终于解决,在此记录。原创 2017-10-10 14:10:15 · 4218 阅读 · 2 评论 -
Spring声明式事务为何不回滚
前言疑问,确实像往常一样在service上添加了注解 @Transactional,为什么查询数据库时还是发现有数据不一致的情况,想想肯定是事务没起作用,出现异常的时候数据没有回滚。于是就对相关代码进行了一番测试,结果发现一下踩进了两个坑,确实是事务未回滚导致的数据不一致。下面总结一下经验教训。Spring事务的管理操作方法下面先总结一下Spring的事务管理方式,spring支持两种转载 2018-02-01 19:22:07 · 814 阅读 · 1 评论 -
Java 使用Spring WebSocket 实现linux tailf 实时日志显示
前言最近需要做一个新功能,要求在浏览器可以看到服务器上的日志文件的内容,并且实时显示,也就是相当于要在浏览器实现Linux下的tail -f 的功能。 最开始的思路是使用Ajax定时向后端请求数据并进行展示,但是这样做效率不高,而且请求过于频繁,这个方案就被否决掉了;因此就想到了需要一个全双工的通信方式,后端可以直接向前端发送请求,那么采用WebSocket就是再合适不过的方案了。原创 2017-11-13 19:35:48 · 5610 阅读 · 3 评论 -
Spring事物管理器TransactionManager解析
Spring框架支持事务管理的核心是事务管理器抽象,对于不同的数据访问框架(如Hibernate)通过实现策略接口PlatformTransactionManager,从而能支持各种数据访问框架的事务管理,PlatformTransactionManager接口定义如下:public interface PlatformTransactionManager { Trans转载 2015-04-27 09:15:19 · 29901 阅读 · 0 评论 -
spring queryForList解析
之前在写项目的时候遇见过这个问题,当使用jdbcTemplateForMsSql.queryForList()方法,返回一个List集合后,想取这个集合中的数据时候出现了问题,由于queryForList返回的是一个对象,即List list = jdbcTemplateForMsSql.queryForList("select A1.name,B1.name from A1,B1");这原创 2015-05-17 20:56:47 · 1353 阅读 · 0 评论 -
Spring在web请求中定义编码(org.springframework.web.filter.CharacterEncodingFilter)
SSH整合时JSP提交数据出现中文乱码的问题,解决方案:在web.xml中配置filter,如下: encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8转载 2015-06-14 15:44:02 · 1079 阅读 · 0 评论 -
SpringMVC使用注解配置AOP
注解配置AOP(使用 AspectJ 类库实现的),大致分为三步:使用注解@Aspect来定义一个切面,在切面中定义切入点(@Pointcut),通知类型(@Before, @AfterReturning,@After,@AfterThrowing,@Around).开发需要被拦截的类。将切面配置到xml中,当然,我们也可以使用自动扫描Bean的方式。这样的话,那就交由Spring AoP容器转载 2016-08-05 15:08:17 · 1107 阅读 · 0 评论 -
SpringMVC使用注解方式配置IOC
IoC是什么Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面”反转了”,那我们来深入分析一下:谁控制谁,控制什么:传统Java SE程序设计,转载 2016-08-05 16:56:03 · 2535 阅读 · 0 评论 -
SpringMVC之MapperScannerConfigurer详解
Spring注入映射器在SpringMVC中,你可以不必为每一个DAO都去写相应的实现,而交给SpringMVC替你创建。为了代替手工使用 SqlSessionDaoSupport 或 SqlSessionTemplate 编写数据访问对象 (DAO)的代码,MyBatis-Spring 提供了一个动态代理的实现:MapperFactoryBean。这个类 可以让你直接注入数据映射器接口到你的 se转载 2016-08-09 17:21:26 · 24346 阅读 · 3 评论 -
Spring事务隔离级别
通常我们使用Spring进行事务的控制,它的最常见的传播方式有两种:Required:代码将始终在事务中运行,创建一个新的事务或者继续在一个原有的事务中运行Required_new:代码将总会启动一个新的事务,如果一个事物已经存在,那么将该事物挂起原创 2016-08-24 21:32:30 · 400 阅读 · 0 评论 -
Spring AOP自定义切面
Spring AOP切面当我们使用AOP时,大部分时候我们使用的是其声明式事务管理的功能,可以很便捷的为我们提供事物的控制,但很多时候,除事物控制外,我们还希望做更多的操作,例如权限控制、日志记录、失败后数据记录等等,这时我们可以自定义切面,并自己实现一个切面的实现类,去实现我们自己的业务规则。 本文中Spring版本为2.0。原创 2016-11-03 10:05:18 · 3869 阅读 · 0 评论 -
Spring redis listener container配置问题
今天遇到一个redis 的问题,当我们使用redis进行消息sub/pub传输的时候,需要进行如下的配置:消费端:<!-- 定义Spring Redis的序列化器 --> <bean id="stringRedisSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer" />原创 2017-04-17 19:41:53 · 17305 阅读 · 1 评论 -
Spring quartz 集群模式下trigger_state error问题原因
问题描述在项目中采用了Spring quartz调度任务来执行定时任务,quartz本身是支持集群化方式的,可以配置一个数据源,quartz会在数据库中创建一系列的表,使用这些表来存储调度的信息,集群中所有的节点都访问这一个数据库,这样可以实现集群环境下的定时任务调度。但是在最近生产环境出现了这样的问题,新增的一个定时调度任务,当服务启动后,执行两次以后,该任务就不再执行原创 2017-08-31 21:04:51 · 14571 阅读 · 0 评论 -
Springboot RestTemplate设置超时时间
Java Config方式Spring boot 版本<=1.3@Configurationpublic class AppConfig{ @Bean public RestTemplate customRestTemplate(){ HttpComponentsClientHttpRequestFactory httpRequestFactory ...原创 2018-07-10 18:49:51 · 56996 阅读 · 7 评论