DAO类中查询方法的签名多种多样,大家都使用什么签名方法呢?拿出来讨论一下吧。           DAO层除了CRUD的数据操作外,另一个重要的操作就是根据查询条件执行数据查询,不同的ORM框架都允许用户动态绑定参数确定查询条件。查询条件项的数目往往是不固定的,如既可能要求以userName为条件查询User,也可能要求以userName+status等组合条件查询User。条件项数目的不定性给查询接口方法的设计造成为一定的困难,实体DAO定义带参的查询方法时,一般 ...
2007-12-30

直接使用Junit测试Spring应用的4点不足

关键字: 单元测试 集成测试
在开发基于Spring的应用时,如果你还直接使用Junit进行单元测试,那你就错过了Spring为我们所提供的饕餮大餐了。使用Junit直接进行单元测试有以下四大不足:    1)导致多次Spring容器初始化问题    根据JUnit测试方法的调用流程,每执行一个测试方法都会创建一个测试用例的实例并调用setUp()方法。由于一般情况下,我们在setUp()方法中初始化Spring容器,这意味着如果测试用例有多少个测试方法,Spring容器就会被重复初始化多次。虽然初始化Spring容器的速度并不会太慢,但由于可能会在Spring容器初始化时执行加 ...
2007-12-15

谈谈Spring 2.x中简化配置的问题

关键字: 简化配置
谈谈Spring 2.x中简化配置的问题 Spring 2.x在配置文件的简化的方面做了很多工作,原来1.x中比较麻烦的配置都已经拥有了比较完美的解决方案。最近刚看完《精通Spring 2.x --企业应用开发精解》的书,结合自己的经验整理一下简化配置的内容。 一、关于集合的配置 1.List >1.x版本的 <bean id="parentBoss" abstract="true"class="com.baobaotao.attr.Boss"> <--父<bean> <property name="favorites"> <set> & ...
由于我们项目的需求比较变态,一部分功能由于需要通过数据库配置表动态生成持久化逻辑,所以只得采用Spring JDBC,而另一部分的业务数据模型比较固定,所以我打算对这部分使用Hibernate。这样,一个应用系统同时存在Spring JDBC和Hibernate两种持久化技术。      我采用Spring 2.0,通过给注解驱动的方式进行事务管理,也就是说在Service接口中打@Transaction注解,并在配置文件中配置: <bean id="transactionManager" class="org.springframew ...
个人觉得Spring Web Flow只是增加开发的复杂度,本来可以通过简单的硬编辑完成的东西,为什么硬要搞出一个配置文件来,大家看看Spring Web Flow给的那个例子(http://www.ervacon.com/products/springwebflow/article/index.html),根据查询用户,然后显示详细信息的例子,本来很简单的东西 ,硬是变得复杂了许多,不但多出了很多类不多,还多出了许多配置的信息,更让人纳闷的是Spring MVC该做的东西还一件都不能少。       页面控制流真的会那么复杂吗?SFW除了能够通过一个 ...
JSTL的<c:url="ddd"/>标签可以得到应用程序的部署目录,但是FreeMarker中如何知识应用程序的部署目录呢?在Google和Baidu以及各大论坛都狂搜索了一气,可以还是没有结果。     http://smile6688.javaeye.com/blog/49642 说明了FreeMarker引用Struts标签的方法,不知道FreeMarker能否引用JSTL的标签,如何引用呢?或者有没有什么办法可以在FreeMarker中使用类似于JSTL的<c:url="ddd"/>功能。    非常感谢!
Spring 2.0提供了基于@AspectJ和Schema的AOP配置,有一个问题一直让我很郁闷,那就是增强方法是如何绑定到目标类连接点方法的入参的,Spring通过argNames成员指定入参名来绑定连接点的入参,在Spring的文档中说argNames是为了明确绑定入参名,请看下面的代码: @Before("target(com.baobaotao.NaiveWaiter) && args(name,num,..)",argsName="name,num") public void bindJoinPointParams(int num,String name){ ...
Spring Reference对这两个切点标识符的用法描述得不太清楚: 引用this - limits matching to join points (the execution of methods when using Spring AOP) where the bean reference (Spring AOP proxy) is an instance of the given type • target - limits matching to join points (the execution of methods when using Spring AOP) where ...
这是Spring手册中关于该类的使用说明: 引用另一个bean工厂后置处理器PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer。但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。如果起覆盖作用的Properties文件没有某个bean属性的内容,那么将使用缺省的上下文定义。 bean工厂并不会意识到被覆盖,所以仅仅察看XML定义文件并不能立刻知道覆盖配置是否被使用了。在多个PropertyOverrideConfigurer实例中对一个bean属性定义了不同的值时,最后定义的值将被使用(由于覆盖机制)。 Pro ...
最近在分析Spring的源码,但对其中一个问题很困惑,现描述如下,希望各位帮忙分析一下:    在IoC容器实例化Bean后,Bean只是个半成品,IoC容器将调用BeanWrapper的实现类BeanWrapperImp对这个实例进行属性值填充的后续工作。BeanWrapperImpl的类结构如下所示: PropertyEditorRegistry | PropertyEditorRegistrySupport | ...
就我目前对Acegi的了解,Acegi安全框架主要解决的安全问题是访问入口级别的安全问题,安全问题我将其分为三类: 1) 入口级安全    具体体现上界面上每个操作菜单,操作元素是否可操作,在服务端则对URL程序资源和业务服务类方法的限制。 2) 数据域安全   数据域控制包括两个部分,分别是:   2.1 行级数据控制 即可以可以访问哪些数据行,一般的限制项是数据所属单位;   2.2 字段级控制 即用户可以访问数据行的哪些字段; 3)系统级安全   如访问IP段的限制,登录时间段的限制,登录次数的限制等。  &nb ...
此处省去废话100行:) Unknow---- says: 你可以从spring的价值来考虑下..我对spring在项目的应用所带来的价值还是有怀疑.. Stamen says: 你选Acegi做权限 很适合 我的判断是一定可以胜任行业性的系统 Stamen says: Spring我用得越深 发现他的实用性更好 你可以花时间多了解 再做判断。 Unknow---- says: 你说来看看,spring的价值 Stamen says: Spring 2.0对配置做了大副的简化,而且你所说的契约模式 Spring是可以实现的 Stamen says: 我觉得主要有以下几点: Unk ...
Acegi对用户的权限使用投票策略,投票的结果返回以int类型返回,分别是AccessDecisionVoter三个静态变量ACCESS_ABSTAIN,,ACCESS_DENIED和ACCESS_GRANTED,也即弃权,拒绝,同意。        在网上找到了一个资料说明三者分别的返回条件: 引用     RoleVoter类是一个Acegi安全系统AccessDecisionVoter接口的实现。如果ConfigAttribute以ROLE_开头,RoleVoter则进行投票。如果GrantedAutho ...
最近刚在研究Spring的编辑器,发现很有意思,刚好galaxystar起了一个这样贴,我想对PropertyEditor作一个详细的整理会对大家有益,特定启了这个新帖。         所谓的PropertyEditor,顾名思义,就是属性编辑器。由于Bean属性通过配置文档以字符串了方式为属性赋值,所以必须有一个“东东”负责将这个字符串转换为属性的直接对象,如属性的类型为int,那么编辑器要做的工作就是int i = Integer.parseInt("1");    Spring为一般的属性类型提供了默认的 ...
在BeanFactory的配置中,<bean>是我们最常见的配置项,它有两个最常见的属性,即id和name,最近研究了一下,发现这两个属性还挺好玩的,特整理出来和大家一起分享。   1.id属性命名必须满足XML的命名规范,因为id其实是XML中就做了限定的。总结起来就相当于一个Java变量的命名:不能以数字,符号打头,不能有空格,如123,?ad,"ab "等都是不规范的,Spring在初始化时就会报错,诸如:    org.xml.sax.SAXParseException: Attribute value "?ab" of type ID must b ...
stamen
搜索本博客
最近加入圈子
存档
最新评论