spring
y_wave
这个作者很懒,什么都没留下…
展开
-
spring 事务失效
最近几天发现项目中spring的声明式事务失效。找了很多资料看了不少博客,现在mark一下,给自己留个印象,也给后来者打开一个思路吧。spring事务失效大体上有这几个原因,或者说可以从这几个方面着手检查,步步为营,一步步的找到问题所在。这也是排查问题的一般方法。1.数据库是否已经开启了事务支持,尤其是mysql,检查表的引擎是否为innodb引擎。2.检查spring注解配置是否重复原创 2016-08-29 15:29:45 · 352 阅读 · 0 评论 -
spring引入多个properties文件
在开发中常常把配置信息放在properties文件中,然后spring的xml中引入。如果在多个spring的xml文件中引入propertiesignore-unresolvable="true" location="classpath:config/wzk.properties" />spring启动会报错:org.springframework.beans.factory.B原创 2016-08-31 14:52:14 · 11201 阅读 · 3 评论 -
spring aop实现类似代理类和类中的方法(注解实现)
1.可以指定aop的执行次序2.@within,可以拦截类上有@DataSource注解的类中的所有方法3.@annotation可以拦截有注解@DataSource的方法4.两者结合可以实现类似Spring注解事务的效果,即可以在类上注解,让aop代理所有方法,也可以在方法上注解覆盖类的注解。原创 2016-09-12 09:33:03 · 2632 阅读 · 0 评论 -
自定义alibaba的FastJson的key值
在项目中用alibaba的FastJson将响应序列号成json返回给前台。默认情况下,key的值是getter方法的方法名去掉get后将首字母小写形成的。例如getUserName,会序列号为userName。如果我们想要自定义输出key值,则可以在getter方法上增加注解@JSONField(name="statusinfo")即可。原创 2016-09-01 16:11:46 · 4190 阅读 · 0 评论 -
spring动态切换数据库支持事务
在项目中有mysql的多个库,在代码中同一个方法可能会操作不同的表。在网上学习了各种方法。大概总结了一下。1.mycat、cobar等分布式数据库中间件。可以很好的支持,但是太重量级了,对我们项目有点大材小用。2.spring的AbstractRoutingDataSource实现数据库连接切换。可以动态的切换数据源,但是对事务有影响,可以用JTA实现事务一致,但是效率较低原创 2016-09-08 11:47:58 · 6820 阅读 · 5 评论