`
pengjj2
  • 浏览: 136160 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论
文章列表
将博客搬至CSDN
spring-cache并不是一个缓存框架的具体实现,仅仅是一个缓存框架的抽象,同时又默认对接了几种第三方的缓存实现。如java本身的ConcurrentMap、ehcache、guava cache等。 下面是一个spring-cache的简单实现。 因为spring-cache默认是基于AOP的方式去进行缓存处理的,所以几个缓存的注解@Cacheable@CacheEvict@CachePut必须放在实现类上,并且该类被spring代理了,而且只能在被外部调用时才有效,如果对象内部调用,默认设置下该缓存是无效的。如果需要对象内部调用,spring提供了参数配置。 现在来简单配置一个s ...
log4j从1到2有不少的变化和增强。所以考虑将项目中的log4j1更换成log4j2,同时仍然使用slf4j的适配,更换过程如下。 1、maven的改变,移除log4j1的依赖,添加log4j2的依赖,替换完成后,maven的最终文件为 maven配置 写道 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.9.1</version> &l ...
最近在oracle导入和导出的时候发现一些问题,空表没有导出。 那么就需要对oracle的导出进行一些处理。 先做全局设置,先登录oracle。 show parameter defer; 查看是否 deferred_segment_creation 的值为true。 这个时候是不导出空表的。 alter system set deferred_segment_creation= false scope=spfile; 修改这个值为false,以后新建的空表就可以导出了。 对于原有的空表。首先查询 select 'alter table XXXXXX.'||table_name||' all ...

JSP文件下载

JSP工具之,文件下载 <% String filePath = request.getParameter("filePath"); filePath = URLDecoder.decode(filePath, "UTF-8"); String fileName = request.getParameter("fileName"); fileName = URLDecoder.decode(filePath, "UTF-8"); out.clear(); if(filePath==null | ...
SQL> create temporary tablespace sunward_temp tempfile 'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SUNWARD_TEMP.DBF'size 100m autoextend on next 100m maxsize 4096m extent management local; Tablespace created. SQL> create tablespace sunward_data logging datafile 'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SUN ...
hibernate继承之一,单表继承映射     对象有继承,而对于数据结构来说,如何在映射中体现这种关系。借助hibernate,我们在对表的映射中能够体现这种关系和设计。     相信我们在设计表的时候经常有这种情况,会用一个type字段来表示这张表的两种形式。而反映到java对象中,其实应该是两个对象,不过有很多相同的共同属性。但实际一般来说都会只用一个类,在查询是用type指定值来分辨。     hibernate提供了一种继承的映射来实现这种对象的继承关系。     以合同表举例,比如我分为A类合同和B类合同,逻辑处理并不一样,但数据结构基本是相同的,可能只有1-2个字段不 ...
场景:自定义注解,AOP拦截,处理前置业务。然后从spring中getBean,然后将此bean存入数据库,将报noMapping entity错误。 原因:AOP拦截,因为bean不是用的接口,AOP将动态代理此bean。如果从spring中getBean,那么spring将扫描此bean,发现注解,然后代理此对象。因为spring都是新产生的对象,采用prototype的形式。那么当前对象将转变成代理对象,hibernate的映射严格对照xml,将不认识此代理对象,报错。 解决:AOP拦截接口;在方法中new一个新对象,将代理对象的值拷贝到新对象中,再持久化;避免将该对象持久化。 ...
 今天在做公司一个工程2个版本的运行时,突然出现新版的工程在tomcat中内存溢出。   因为错误比较明显,但也经过了一些折腾。   我的tomcat版本为最新的7.0.34,eclipse为3.7   在tomcat的wiki上其实对内存溢出和内存错误已经有一定的分析和说明   tomcat内存出错的一些原因:   1、建立的过多的对象,导致堆区内存不足   2、有代码被对象持有而导致垃圾收集器无法清理   3、超过了系统文件的大小限制,这样你需要提高你的权限或者用一个不受限制的。   4、你工程的线程数目过多,某些系统在同一个进程里对线程数目有限制,去看系统文 ...
今天在做个整合时,决定用sitemesh把几个页面的布局整理下。   很久没使用过了,咋一用还出了不少问题,幸亏网上资料比较多。所以还算比较顺利的解决了。   总结一下   我的版本是struts2 2.1.8   1、struts2 中使用sitemesh一定要用struts2 的插件 struts2-sitemesh-plugin-****.jar 否则是没有效果的   2、在web.xml中的filter顺序   <filter> <filter-name>struts-cleanup</filter-nam ...
一个是oracle转mysql的 另一个是mysql转oracle的
 其实带刻度的蜘蛛图网上也有不少资料,我这个也是参照别人的资料来做的,不管咋样,还是记上吧。   先上图     1、构造dataset private DefaultCategoryDataset createDataSet2(Map<String, Map<String, Object>> resultMap, List<String> dimNameList) { DefaultCategoryDataset dataset = new DefaultCategoryDataset();//创建默认的种类数据类型就可以了, ...
用jfreechart画一个象限图,因为在jfreechart的例子中并没有象限图的举例,我怀疑他没有此类图的chart类型,所以处理会比较特殊一些   先上图,我要画的就是下面这个图,因为只是个举例,所以数据造的比较极端,都在最顶上 那就正式开始 1、先用数据构造一个dataset   /** * 构造数据集合 * @param resultMap * @return */ private XYDataset createDataSet( Map<String, Map<String, Object>& ...
公司要做一些图表,各种图表技术整来整去,觉得还是用jfreechart比较合适。 但是jfreechart虽然开源,但是教程和文档却是收钱的,好在用的人也不好,参照网上的一些案例,研究研究也就能用了。   版本:jfreechart的最新版本 ...
今天在开发时发现一个问题 在查询一张表的 count 的时候,居然返回了2个值,Hibernate报错说不止一个结果。   大吃一惊,不过是一个单表查询而已,出现了这样的问题。后来查找资料和项目发现,项目里用父类A,子类B。   A和B都映射了同一张表。   这样查询就出问题了,如果查询父类,将返回2个结果集,所以对于unique方式的查询,一律报错。但是有意思的是,如果查询子类,则不会有问题。   解决方法,在映射xml中就是配置文件中polymorphism属性的设置问题。polymorphism默认值为 implicit 是隐式的实现多态。这种方式会导致查询超类的时候 ...
Global site tag (gtag.js) - Google Analytics