DAO类中查询方法的签名多种多样,大家都使用什么签名方法呢?拿出来讨论一下吧。
DAO层除了CRUD的数据操作外,另一个重要的操作就是根据查询条件执行数据查询,不同的ORM框架都允许用户动态绑定参数确定查询条件。查询条件项的数目往往是不固定的,如既可能要求以userName为条件查询User,也可能要求以userName+status等组合条件查询User。条件项数目的不定性给查询接口方法的设计造成为一定的困难,实体DAO定义带参的查询方法时,一般 ...
- 15:23
- 浏览 (647)
- 论坛浏览 (6133)
- 评论 (22)
- 分类: Spring
在开发基于Spring的应用时,如果你还直接使用Junit进行单元测试,那你就错过了Spring为我们所提供的饕餮大餐了。使用Junit直接进行单元测试有以下四大不足:
1)导致多次Spring容器初始化问题
根据JUnit测试方法的调用流程,每执行一个测试方法都会创建一个测试用例的实例并调用setUp()方法。由于一般情况下,我们在setUp()方法中初始化Spring容器,这意味着如果测试用例有多少个测试方法,Spring容器就会被重复初始化多次。虽然初始化Spring容器的速度并不会太慢,但由于可能会在Spring容器初始化时执行加 ...
- 17:43
- 浏览 (409)
- 论坛浏览 (2529)
- 评论 (14)
- 分类: Spring
谈谈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>
& ...
- 11:20
- 浏览 (572)
- 论坛浏览 (1837)
- 评论 (1)
- 分类: Spring
由于我们项目的需求比较变态,一部分功能由于需要通过数据库配置表动态生成持久化逻辑,所以只得采用Spring JDBC,而另一部分的业务数据模型比较固定,所以我打算对这部分使用Hibernate。这样,一个应用系统同时存在Spring JDBC和Hibernate两种持久化技术。
我采用Spring 2.0,通过给注解驱动的方式进行事务管理,也就是说在Service接口中打@Transaction注解,并在配置文件中配置:
<bean id="transactionManager"
class="org.springframew ...
- 20:28
- 浏览 (948)
- 论坛浏览 (1292)
- 评论 (6)
- 分类: Spring
个人觉得Spring Web Flow只是增加开发的复杂度,本来可以通过简单的硬编辑完成的东西,为什么硬要搞出一个配置文件来,大家看看Spring Web Flow给的那个例子(http://www.ervacon.com/products/springwebflow/article/index.html),根据查询用户,然后显示详细信息的例子,本来很简单的东西 ,硬是变得复杂了许多,不但多出了很多类不多,还多出了许多配置的信息,更让人纳闷的是Spring MVC该做的东西还一件都不能少。
页面控制流真的会那么复杂吗?SFW除了能够通过一个 ...
- 11:18
- 浏览 (4851)
- 论坛浏览 (6037)
- 评论 (18)
- 分类: Spring
JSTL的<c:url="ddd"/>标签可以得到应用程序的部署目录,但是FreeMarker中如何知识应用程序的部署目录呢?在Google和Baidu以及各大论坛都狂搜索了一气,可以还是没有结果。
http://smile6688.javaeye.com/blog/49642 说明了FreeMarker引用Struts标签的方法,不知道FreeMarker能否引用JSTL的标签,如何引用呢?或者有没有什么办法可以在FreeMarker中使用类似于JSTL的<c:url="ddd"/>功能。
非常感谢!
- 17:33
- 浏览 (2687)
- 论坛浏览 (3000)
- 评论 (9)
- 分类: Spring
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){
...
- 10:06
- 浏览 (1450)
- 论坛浏览 (1528)
- 评论 (1)
- 分类: Spring
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 ...
- 15:55
- 浏览 (2598)
- 论坛浏览 (2679)
- 评论 (7)
- 分类: Spring
这是Spring手册中关于该类的使用说明:
引用另一个bean工厂后置处理器PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer。但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。如果起覆盖作用的Properties文件没有某个bean属性的内容,那么将使用缺省的上下文定义。
bean工厂并不会意识到被覆盖,所以仅仅察看XML定义文件并不能立刻知道覆盖配置是否被使用了。在多个PropertyOverrideConfigurer实例中对一个bean属性定义了不同的值时,最后定义的值将被使用(由于覆盖机制)。
Pro ...
- 21:59
- 浏览 (2023)
- 论坛浏览 (2270)
- 评论 (7)
- 分类: Spring
最近在分析Spring的源码,但对其中一个问题很困惑,现描述如下,希望各位帮忙分析一下:
在IoC容器实例化Bean后,Bean只是个半成品,IoC容器将调用BeanWrapper的实现类BeanWrapperImp对这个实例进行属性值填充的后续工作。BeanWrapperImpl的类结构如下所示:
PropertyEditorRegistry
|
PropertyEditorRegistrySupport
|
...
- 17:25
- 浏览 (2321)
- 论坛浏览 (2447)
- 评论 (9)
- 分类: Spring
就我目前对Acegi的了解,Acegi安全框架主要解决的安全问题是访问入口级别的安全问题,安全问题我将其分为三类:
1) 入口级安全
具体体现上界面上每个操作菜单,操作元素是否可操作,在服务端则对URL程序资源和业务服务类方法的限制。
2) 数据域安全
数据域控制包括两个部分,分别是:
2.1 行级数据控制 即可以可以访问哪些数据行,一般的限制项是数据所属单位;
2.2 字段级控制 即用户可以访问数据行的哪些字段;
3)系统级安全
如访问IP段的限制,登录时间段的限制,登录次数的限制等。
&nb ...
- 22:01
- 浏览 (5989)
- 论坛浏览 (8646)
- 评论 (5)
- 分类: Spring
此处省去废话100行:)
Unknow---- says:
你可以从spring的价值来考虑下..我对spring在项目的应用所带来的价值还是有怀疑..
Stamen says:
你选Acegi做权限 很适合 我的判断是一定可以胜任行业性的系统
Stamen says:
Spring我用得越深 发现他的实用性更好 你可以花时间多了解 再做判断。
Unknow---- says:
你说来看看,spring的价值
Stamen says:
Spring 2.0对配置做了大副的简化,而且你所说的契约模式 Spring是可以实现的
Stamen says:
我觉得主要有以下几点:
Unk ...
- 00:49
- 浏览 (22418)
- 论坛浏览 (29819)
- 评论 (69)
- 分类: Spring
Acegi对用户的权限使用投票策略,投票的结果返回以int类型返回,分别是AccessDecisionVoter三个静态变量ACCESS_ABSTAIN,,ACCESS_DENIED和ACCESS_GRANTED,也即弃权,拒绝,同意。
在网上找到了一个资料说明三者分别的返回条件:
引用
RoleVoter类是一个Acegi安全系统AccessDecisionVoter接口的实现。如果ConfigAttribute以ROLE_开头,RoleVoter则进行投票。如果GrantedAutho ...
- 23:13
- 浏览 (1813)
- 论坛浏览 (1904)
- 评论 (2)
- 分类: Spring
最近刚在研究Spring的编辑器,发现很有意思,刚好galaxystar起了一个这样贴,我想对PropertyEditor作一个详细的整理会对大家有益,特定启了这个新帖。
所谓的PropertyEditor,顾名思义,就是属性编辑器。由于Bean属性通过配置文档以字符串了方式为属性赋值,所以必须有一个“东东”负责将这个字符串转换为属性的直接对象,如属性的类型为int,那么编辑器要做的工作就是int i = Integer.parseInt("1");
Spring为一般的属性类型提供了默认的 ...
- 00:03
- 浏览 (4803)
- 论坛浏览 (4419)
- 评论 (6)
- 分类: 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 ...
- 23:28
- 浏览 (4030)
- 论坛浏览 (4712)
- 评论 (5)
- 分类: Spring
最近加入圈子
最新评论
-
5种DAO查询方法的签名方 ...
记得以前进行java培训时候,学的就是dao,可惜工作了也就不用这个了,现在用s ...
-- by 01071405 -
5种DAO查询方法的签名方 ...
tianhen 写道我们一般是写了一个分页查询的方法: List ...
-- by MrLee23 -
5种DAO查询方法的签名方 ...
tianhen 写道 Where where = Where.rootWhere ...
-- by realorg -
直接使用Junit测试Spring ...
引用3)数据库现场容易遭受破坏 测试方法对数据库的更改操作会持久化到数据库中。 ...
-- by lsk -
直接使用Junit测试Spring ...
hrtc 写道有没有具体实例代码,支不支持增量测试,下面是我用junit的测试, ...
-- by xmx0632







评论排行榜