`
jakoes
  • 浏览: 68060 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
今天在调试iReport 3.7.5时,忽然报这样一个错: java.lang.VerifyError: (class: groovy/runtime/metaclass/java/util/HashMapMetaClass, method: super$2$invokeMethod signature: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;ZZ)Ljava/lang/Object;) Illegal use of nonvirtual function call at java ...
使用@Transactional时候的注意点: 1.确认有如下配置:<tx:annotation-driven transaction-manager="transactionManager"/> 2.readOnly能不用就不能 3.嵌套事务中尽量少用REQUIRED_NEW,除非某些操作无论如何都要持久化 4.只有uncheck exception才会使事务回滚,checked exception不会使用回滚。如果要在checked exception中让事务回滚,则有如下方法:   a)在属性rollbackFor中增加unchecked exception ...
    最近一直在研读spring源码和学习设计模式,想把自己的一些领悟与大家分享,前几天发了几篇简单的文章,可能由于文字过于简单,几次被评为新手贴,心中滴汗啊  没办法,工作太忙,大家都知道,写篇文章是要很大精力地~~~~~ 今天恰有时间,把这两天的学习所得与大家分享,尽量写得详细一些,专家饶路走,新手觉得好赞一下(不要拍砖哦~~~~)。 文章源码在附件中 注:本文目的意不在“重复发明轮子”,而是借此文来探讨Spring JdbcTemplate的内部实现原理,掌握其运用精妙之处,以便在以后的“造轮运动”中能灵活运用。 话回正转,这两天在读spring的jdbc模板,对Spring源码的 ...
假设有以下类: public class TravelModel { @Required @Column(desc="卡类型",allowedValues={"0","1"},defaultValue="0") private String cardType; @Required @Column(desc="卡号") private String acctCard; ... } 此bean的大概的含义为,使用两个自定义的annotation来标注fi ...
一谈到spring,它可是集设计之大成,今天我们来浅谈一下spring中的工厂模式。第一次写关于设计模式的文章,如有纰漏,还请指正。 当然这只是冰山之一角。各位如果觉得太简单,只当路过而已 。 我们都知道工厂模式是GOF23中设计模式之一,属于创建模式的一种。 而工厂模式又细分为工厂方法和抽象工厂。 简单的来说,工厂方法直接在工厂里返回所需求的实例。针对只创建一种“产品”时使用。 而抽象方法则是用在创建多个“产品”的情况下,把创建“产品”的过程延迟到了子类中,只留下了一个抽象的创建方法。 下面我们来看一下spring中ApplicationContext及子类的对于工厂方法的使用。 我们 ...
经过对struts1.x源码的研读发现: struts1.2获取action的方式是单例的,所有的action都被维护在一个hashMap里,当有请求到达时,先根据action的名称去hashMap里查找要请求的Action是否已经存在,如果存在,则直接返回hashMap里的action。如果 ...
大家都知道,struts1.2由于是线程安全的,每一个请求都去实例化一个action,造成大量并发时的资源浪费。   struts2在这一点上做了改进,每个action都是一个singleton,所有的请求都是请求同一个action实例。这样在一定程度上能节约资源,但又有安全问题。最常见的就是在action中声明有块状的实例变量,因为这一点是不被提倡的。如果一定要声明,那一定要加上同步块。   那么在spring mvc中的controller是不是线程安全的呢?答案是否定的。controller在默认情况下也是非线程安全的,我们来看看源码: * @author John A. Lewi ...
在当今的MVC framework里,似乎Webwork2逐渐成为主流, Webwork2 SpringFramework的组合变得越来越流行。这似乎意味着Spring自带的MVC framework远比Webwork2差,所以大家纷纷用Webwork2来代替。确实,Spring的MVC framework不算是整个Spring的核心部件, ...
一、Log4j的初始化(LogManager类中的静态块中)。     1、 以DEBUG等级创建一个RootLogger,然后以RootLogger为参数创建一个Hierarchy类的实例。     2、 Hierarchy类中实现了LoggerRepository接口和RendererSupport接口。LoggerRepository接口主要提供了 ...
原创  Spring源代码分析(9)---FactoryBean(我是谁,谁是我,谁是谁) 收藏 本节,我们最分析ioc的最后一个核心点,那就是FactoryBean; 在ioc中,存在着这样的一种bean,他的引用并不是只想他自身,而是通过折射指向了别的bean,就因为他的存在,使得他支持了jdbc,jndi等多种j2ee技术,他维持了 spring的80%的功能的实现,那么,就让我们来详细的分析一些这个神奇的bean,就好像武林外传里面的秀才杀死姬无命一样的,谁到底是谁,我们看似在取得factoryBean,却拿到了另外的一个类,失之东隅,收之桑榆; 我们以 MethodInvokingF ...
我们的项目一年来一直使用Jetty+HSQLDB作为开发环境,加上 JettyLuncher和DBEdit这两个插件,用起来还是非常地顺手。不过伴随着项目越来越大,内容越来越多,引进来的第三方包很多都使用了 commons-logging作为日志输出,比如hibernate, spring等等。项目大了之后log信息也变得非常多,再加上jetty本身的信息变得非常多了。本来想通过修改commons- logging.properties设置高级别的标准,但是发现并没有任何作用,这个问题困惑我了很久,今天终于不能忍了,打算从头到尾trace一下到底哪里有问题。 首先先来了解一下Commons- ...
注:开发IDE是eclilpse,本地开发环境是windows,测试环境是linux 项目之前是一位兄弟开发的,项目编码为GBK编码,半路做其它项目,我接接手,一次也没布署过测试环境。 我在本地一切开发好之后,测试没有问题,布到linux上就有乱码问题。 找了半天终于找到原因,测试服务器linux上是UTF-8编码,使用locale命令查看: LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COL ...
新公司项目使用MQ进行消息调用,用的是SonicMQ的实现,来简单介绍一下: SonicMQ是一款Java消息服务(JMS)系统(非开源),该产品具有更好的容错性和可靠性,而且还可以同时结合了目前销量最好的两款企业应用程序服务器,即IBM的WebSphere服务器和BEA的WebLogic服务器。 SnoicMQ 是业界扩展性最强的企业消息服务器,在企业环境中为您提供特殊的可靠性,广泛的连接性,无可匹敌的管理能力,以及全面的安全防护。 SonicMQ 是屡获大奖的下一代消息传送系统,它可以在整个企业范围内,可靠地、可扩充地、安全地传送关键的商业数据。其设计的目标是简化当前高度分布式企业应用和 ...
第一步:SonicMQ的安装准备     1、安装SonicMq7.0,一切按默认配置(Domain1,tcp://localhost:2506,Administrator,Administrator),在程序菜单中生产 “SonicMQ DomainManager”,“SonicMQ Management Console”等。     2、先启动“SonicMQ DomainManager”,然后在“SonicMQ Management Console”界面,选择Tools/JMS Administered Objects菜单中,打开一个面板,使用第二个选项“JNDI Naming Ser ...
  企业开发中往往有这样的需求,用户界面输入的东西都要去除前后空格。   之前的做法是,取出formbean里的每一个属性依次验证。想想,费时又费用,抽时间我写了一个通用工具类,一句代码就能搞定。   用法如下:   FormBean: public class FormBean { private int age; private String name; private Date birth; private String[] fav; private int score[]; public int ...
Global site tag (gtag.js) - Google Analytics