如果说最近有什么不爽的事情,那就是与人共享网络的痛苦了,特别是当其他共享者使用那些P2P工具下载软件,而你却看着网页进度条一点点爬的时候,那种痛苦对于我这种网虫级别的人来说,那简直就是痛不欲生。绝对不能再忍了,于是乎上网下载P2P终结者,哼,你们不仁我则不义,看谁厉害。软件下好后,立刻启动监控,然后尝试了下速度,哇,那个爽啊。可惜好景不长,没多久对方就跑来问我为什么他们断网了?我楞了一下,那垃圾软件居然连对方的网都断了,于是支支唔唔的应付了他,说我看下,总算勉强过关,还好他们不懂电脑,不然就掉大了(貌视挺卑鄙的,别BS俺,俺也是迫不得已)。
没办法,那破烂软件居然连人家网都断了 ...
看了下JPA的介绍,就是在原有ORM的基础上抽象出一层通用接口,以便可以任意替换不同的ORM实现,有的朋友认为JPA的出现可以替代掉DAO,可是事实上,这确是大错特错了,我认为JPA非但不能替换掉DAO,而且因为DAO的存在而显得更加尴尬。
为什么?JPA虽然抽象了ORM的接口,想统一ORM标准,但是也正因为如此,它实际和直接使用ORM框架没有区别(除了能够任意替换不同实现以外),因为即使使用JPA,我们一样不能缺少DAO,我们来看看DAO的主要作用:
1、DAO将持久逻辑抽象出来,让业务层不需关注与持久相关的逻辑
2、在DAO层我们可以任意更换不同的持久实现,而无需更改 ...
一直以来都是开发EJB的项目,对于SSH的架构仅仅只是处于了解而没实际开发过,最近正在将公司的一个EJB项目重构成一个SSH的架构,在实际开发过程中遇到了一些问题,其中一个就是持久层和业务层之间数据传输的问题。
在原来EJB项目中,都是使用实体BEAN进行数据持久的,而现在换成了DAO负责持久逻辑,一开始的时候业务层和持久层之间数据通信都是直接使用POJO进行,不再需要像以前使用EJB那样将DTO的数据set到实体BEAN上,减少了很多不必要的代码,刚开始的时候觉得挺爽,可是后来发现一个问题,那就是在service层调用DAO持久一个POJO后,POJO将变成PO,DAO持久方法将会 ...
最近在重构公司的一个项目,在事务处理的问题上挺伤脑筋,主要就是业务层如何进行事务控制的问题,由于没有使用spring等可以声明式事务管理,所以只能手动进行,大家都知道事务不应该放在DAO层进行,那样进行多个DAO操作时则无法进行单一事务控制,但是我个人又不想把事务控制代码写在业务层,因为如果将这些代码放到业务层,那么业务逻辑中就包含了与业务无关的代码,不是我所愿意的,同时也造成了业务层与持久层的耦合,思前想后,后来想到一个办法,应该可以做到两全其美,就是还是使用DAO进行控制事务,但是并不一定是每个方法一个事务,文采不好,还是直接用代码表示吧。
DAO泛型接口
public inter ...
ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不了解该机制的朋友起到一点点作用。
要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的,所以可想而知ClassLoader的重要性如何。
看到这里,可能有的朋友会想到一个问题,那就是既然ClassLoader是用来加载类到JVM中的,那么ClassLoader又是如何 ...
protected WebApplicationContext createWebApplicationContext(
ServletContext servletContext, ApplicationContext parent) throws BeansException {
Class contextClass = determineContextClass(servletContext);
if (!ConfigurableWebApplicationContext.class.isAssignableFrom(contextClass)) {
t ...
在框架的设计中,例如struts,我们知道对于每个用户定制action都需要继承strtus的action,此乃典型的方式,这种方式的弊端是对框架依赖严重,不利于系统的移植,另一种方式是针对用户的类,不进行任何框架接口类的继承或者实现,只通过形式上进行约束,例如针对每个execute方法,框架不提供任何超类,只是口头的约定用户需要使用框架则必须自行实现该方法,不提供任何强制性的约束,这种方式的好处是用户定制的action可在代码实现上避免对框架的依赖,然而却因为没有固定约束,导致容易出现错误。
第一种方式是传统的解决方案,利弊大家也都知道,第二种方式虽然容易让使用的用户犯错,不过可以 ...
源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,为了减少痛苦,更快的带来快乐,在这里希望通过这篇文章对觉得困难的朋友有一个帮助。
本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。
首先来打开该类的代码,我们将看到如下代码:
public class XmlBeanFactory extends DefaultListableBeanFactory {
private final XmlBeanDefinitionReader reader ...
前一两天在讨论群里,我提出过一个关于接口暴露的问题与群友们进行讨论,后来无甚结果,所以把自己这一问题在这里提出来,希望和大家讨论讨论。
该问题主要是关于对外接口暴露的问题(此接口并非指java中的interface,而是指用户编程时可使用的接口),例如有一个类的大部分方法是不应该暴露给用户的,然而事实上,因为设计问题,任何一个用户都可以创建该类的实例以至于使用它,虽然在实际当中,可能没有用户会去这样做,不过我认为如果能够尽量避免这种情况应该是最好的选择。但是又该如何避免呢?
我想这种问题出现的主要原因体现在设计者在对象职责分配上想尽可能的达到分散职责让程序更容易进行维护,这种目 ...
在一些软件项目当中,很多时候都存在一些明显是错误,但又因为企业自身种种问题而无法改变的业务流程,而我一直认为,一个软件设计者,除了根据客户的需求进行设计,同时更应该通过与客户的交流,以达到双方对领域业务有更深一层的认识,从而指导软件设计者以及客户把业务慢慢转向正确的流程。但是在实施中,有时却很难达到这一目标,例如
在集装箱管理系统当中,存在柜管、订单模块,当用户下订单之后,订单操作员将会从货柜管理处登记获得一个存在且可以使用空的货柜,然后将该货柜与订单绑定,再使用该货柜去客户处装货,这是一个基本且正确的逻辑。然而在事实中,因为公司一直以来在管理等各方面的问题,导致在客户下订单之后,不 ...
上一文安装篇讲述了如何把jpetstore导入netbeans工程,现在所有已经准备就绪,接下来就可以开始进入正题了。
首先,我先大概介绍一下jpetstore的整体架构,spring的这个版本主要使用了struts+spring+ibatis的框架组合,而在MVC层的框架,这个版本又同时提供了两个实现版本,一个是struts,一个是spring 自带的web框架,而数据库持久层使用的是ibatis框架,这个框架是一个SQL映射框架,轻量级而且使用非常容易,基本上会使用JDBC的朋友看一两个小时就会使用了。
下图是该应用的一个简略架构图,没有什么好的工具,就大概画了一个,虽然比较简单,不 ...
之所以写这个jpetstore研究入门的文章,是为了给茫然不知如何入手的新人们提供点参考,每一个人都经历过新人时期,我想也正是因为当初的我对没人指导的痛苦深有体会,才更希望能够有一份详细点的入门参考,之所以选择spring的jpetstore版本,那是因为考虑到目前spring框架最受欢迎的原因,好了,废话就不多说了。
首先让我们从下载安装开始,在此我所介绍使用的IDE是sun公司的netbeans5.5,之所以选择这款软件,是因为我觉得它的集成度较高,不需要像eclipse那样下载如此多的插件,有人会说eclipse使用myeclipse就OK了,也不需要下载什么插件,不过myeclip ...
相信很多新手朋友们对J2EE应用环境的配置以及工具的使用都非常头疼,特别是很多新手朋友在研究类似petstore这类demo应用的时候,虽然每个petstore都直接提供了ant的build,但是很多新人朋友都不知道如何把应用通过IDE来部署,特别是使用eclipse的时候,一大堆的插件以及配置都非常的烦人,搞了很久也搞不定,在这里,我建议各位新人朋友可以使用netbeans,netbeans是什么?不用我介绍了吧,其实我以前也没用过,只是最近robbin推荐过使用netbeans开发ruby时,下载了一个来试试,发现它除了开发ruby很方便以外,开发java一样非常方便,不用像eclipse ...
- 浏览: 109543 次
- 性别:

- 来自: 珠海

- 详细资料
搜索本博客
我的相册
1
共 9 张
共 9 张
最新评论
-
使用wubi安装ubuntu记得绕 ...
好象也是这个问题,我今天也搞了一天了。不要用wubi.exe,去下载对应的wub ...
-- by feiyelanghai -
你的价值在哪里?
不同的心态决定着截然不同的结果。这有点像传说中的境界了吧。
-- by pubx -
你的价值在哪里?
两个字 —心态
-- by flysnail -
你的价值在哪里?
同感,就看自己怎么去看待,同样一件事情,不同的心态有着不同的结果。
-- by yuanqixun -
你的价值在哪里?
8) 不得不让我想起啊Q
-- by icefire






评论排行榜