阅读更多
Wabacus是一个JavaEE快速开发框架,采用面向声明的开发模式,可以不用编程或极少编程即可实现复杂的数据展示、数据编辑、表单处理等功能,将JavaEE的开发效率提高5倍以上,代码减少60%以上。



为了使大家对Wabacus框架有一个全面的了解,我们采访了该框架的作者

Wabacus官网:http://www.wabacus.org/

如果你在部署和使用Wabacus上有任何问题,可以与作者联系(QQ:349446658),或进入QQ 群:203873792、94291972、35530847进行讨论,还可以进入Wabacus论坛进行提问。

欢迎大家推荐更多开源项目给我们,支持中国的开源项目发展,如果您和您的团队希望展示创业理念和有趣之处,或者有朋友正在创造这样的价值,请联系我们,发站内短信给ITeye管理员或者发邮件到webmaster@iteye.com即可。


Wabacus是什么? Top

Wabacus是一个JavaEE快速开发框架,能快速实现完整的JavaEE功能,包括前台后台,因此与常见的框架jQuery、Extjs、Struts、Spring、Hibernate等不同,它们均只提供某一个方面的解决方案,开发人员必须组合使用它们才能完成JavaEE功能的开发。

另外,Wabacus与国内的很多快速开发平台也不同,国内很多快速开发平台只是对常用功能进行了一下封装,或者对简单基础代码进行了一下自动生成,并没有在开发思想这个层次上有什么改进,这种改变只能说是“物理变化”,而不是“化学变化”。

Wabacus则是在开发思想这个层次上进行改进,最大限度将开发人员从考虑“如何做”中解放出来,只需考虑做什么即可。因此与传统开发思想相比,相当于发生了“化学变化”,能成倍地提高JavaEE开发效率。

Wabacus所适用的领域,提供了哪些功能? Top

Wabacus是一个JavaEE快速开发框架,能适用于任意类型的JavaEE项目、产品及应用。不过由于前台展示采用的是JS/CSS/HTML等,因此也只适用于B/S结构的JavaEE项目,对于采用AWT/SWT等进行前台展示的C/S结构的项目则不适用。

Wabacus框架不仅从开发思想层面给开发人员带来了很大的好处,让他们尽量从“如何做”中解放出来,而且对常用且很多是很复杂的功能提供了良好的支持,让开发人员要开发这些功能时变得非常容易,只需简单声明即可,例如:

列过滤、列选择、冻结行列标题的报表、输入联想、文件上传/下载、行/列分组报表、树形表格、数据导入/导出、数据打印、交叉统计报表、主从报表、行排序等。

当然,Wabacus框架给开发人员带来的好处主要还是开发思想方面的根本改进,这个才是主要的,带来的好处也是巨大的。

开发这个框架的初衷,它与其它框架相比有什么优势? Top

本人从事JavaEE开发与架构将近9年的时间,后面大部分时间是负责公司各类项目、产品方面的架构设计,在这方面积累了较为丰富的经验,这个框架的思想也是多年架构经验的积累,用过在很多项目和产品中,取得了非常好的效果,凡是本人用这个思想设计的架构,在前期开发和后期维护方面都非常方便,新进来的开发人员能快速上手,后期的各种维护改造工作也很容易。

印象比较深的就是用这个思想开发的一个大型网站项目,在开发时,几个开发人员快速地配置了几百个数据展示功能,在后期维护差不多每年一次的改版中,这几百个数据展示功能也是最容易和方便改的,只要改几个JS/CSS文件以及少数的几个系统级配置文件就可以对它们的显示效果、显示结构进行整体调整。因此在项目组和客户方面都反映非常好。

正是基于这些项目、产品的成功实施经验,本人决定将这个思想转化为一个成熟的框架,让更多朋友受益,也改变一下国内开源框架原创性比较少的局面(比如国外搞IOC、AOP、O/R Mapping等方面的框架,国内很多朋友也是照着这些思想搞这些方面的框架,只是实现方式上进行一些改变,没有提出原创性的思想)。

关于和其它框架的比较,我认为Wabacus最大的优势就是开发思想的改进,将开发人员由传统的“面向过程”、“面向对象”思想中转入更容易、更高效的“面向声明”的思想中,大幅提高开发效率和降低开发复杂度。

代码减少60%,开发效率提升5倍以上,是如何实现的? Top

首先说明一下,这里说的“60%”、“5倍”都是一个概数,不是一个精确值,因为开发效率不能像性能一样,能通过工具准确定量测试,就好比问“交流时说话比打字快多少倍?”一样,我们也不能给出一个精确数,因为打字有快有慢,说话的语速也有快有慢,没办法精确说一定快多少倍,但我们知道整体上要快好几倍。

wabacus为什么能大幅减少代码量,成倍提高开发效率呢?原因就是它采用“面向声明”的开发思想,我们来介绍一下什么是“面向声明”的开发思想:

所谓“声明”,就是只要把要做的功能说出来,而不需开发人员考虑如何实现,具体如何实现交给Wabacus来完成,就好比“视频聊天”,只要把字说出来,而不需考虑如何写出这些字,就能表达自己的意思,因此比“写字聊天”、“打字聊天”的方式都要快很多倍,因为后两种方式都要考虑将字实现出来才能表达自己的意思,而传统的开发思想就好比“写字聊天”或“打字聊天”,要开发人员编写大量的代码将“字”实现出来。

使用wabacus开发,不仅大幅提高了开发效率,而且对开发人员的要求也比较低,因为不太需要关注实现,只需声明,就好比“视频聊天”一样,不需考虑将字写出来,因此文盲都能顺利地交流。

其实面向声明的开发思想也不是Wabacus独创,在很多框架中都有使用,而且都取得非常不错的效果。比如Spring,就是将对象的依赖关系做成可声明,提高对象依赖的灵活性和可维护性;再比如EJB或Spring,提供声明性事务,提高了事务控制的灵活性,减低了开发难度等等。但是它们只是着眼某一个方面,做的不够彻底,带来的改善是局部的。而Wabacus框架在更大的范围提供了声明性编程,尽量将用户的整体开发效率提到最高,所以它对JavaEE开发带来的好处是立体的,全方位的。

Wabacus扩展性如何? Top

Wabacus做为一个框架,需要满足各种复杂的场合,因此非常注重可扩展性,也提供了非常灵活的扩展接口,大体体现在如下方面:

  • 允许开发人员新增容器类型、报表/表单类型、数据类型、输入框类型,数据源类型等等,并允许用户在新增这些类型时,在配置文件中为这些类型新增自己的配置属性和配置标签。
  • 允许开发人员在拦截器的各拦截方法中控制报表/表单各个生命周期的行为,比如控制加载、保存的数据,阻止保存操作或者自己完成保存操作等等。
  • 允许开发人员在静态模板、动态模板中控制报表/表单的显示,并且可以在其中自己定制输入框。
Wabacus灵活的可扩展性源于它优雅的面向对象设计,看过Wabacus源码的,即使只看懂了一部分的朋友,都会对Wabacus的巧妙设计有着很深的印象。曾经有一个8年JavaEE开发经验的架构师,在研究Wabacus源码超过2个多月后对此有过高度评价。

Wabacus能否与其它框架共存在同一个项目中,比如在已有项目中加入Wabacus框架快速开发新功能? Top

Wabacus前台采用的是标准JS/CSS/HTML,后台采用的是标准Java实现,都没有用到其它框架,从它依赖的第三方jar包中可以看到,除了数据库驱动包,只有少数几个第三方组件,因此不会与任何现有的框架有冲突,可以与它们(比如常用的SSH、SSI等)共存在一个项目中。

现在使用框架的朋友中,有很大一部分都是在老项目中用Wabacus开发新功能,而之前用其它框架开发的功能要么保持不变,要么逐步迁移,运行时互不影响。

根据本人这么久的技术支持经验,很多朋友在用了Wabacus以后,虽然项目中可能还有其它框架,但有了新需求,第一时间想到的就是如何用Wabacus来实现,尽量避开其它框架,因为相比其它框架,Wabacus的开发效率高太多,只有当使用Wabacus不方便实现的时候,才会用其它框架开发。

Wabacus支持哪些数据库类型? Top

Wabacus内置了对SQL Server、Oracle、MySQL、DB2四种常用数据库的支持,每个数据库类型对应一个Provider类,比如Oracle数据库的Provider类为:com.wabacus.config.database.type.Oracle,MySQL的Provider类为:com.wabacus.config.database.type.MySql等等,如果要新增对其它数据库的支持,只要参照内置的数据库类型提供一个相应的Provider类即可。

早期没有完全开放源码,是什么原因? Top

Wabacus的源代码开放是逐步的,在早期,只公开了80%左右的Java源码,后面又开放了99%的源码,现在已经将所有Java源代码开放了。

早期没有开放所有源码是没有对所有朋友开放源码,但对正在使用框架的朋友还是开放了他们想修改的任意源码,也就是说他们想修改的源码如果没有在公开的80%或99%之中,他们是可以向我要的,我会发给他们,并教他们如何改。这样做的目的有两个:第一、鼓励大家使用框架;第二:早期版本不够稳定,我有可能会进行比较大的重构,因此如果让他们修改了太多源码的话,以后升级会非常困难。

不过现在Wabacus架构已经非常成熟,所有Java源代码都已经公开了。

你所知道的有哪些项目使用了该框架? Top

因为一般项目用了什么框架都是一个保密的内容,很多朋友不愿公开,尤其是外网能访问到的网站之类的项目更是这样,包括我自己用Wabacus的思想开发的大型门户网站,也不愿意公开说出是哪一家,所以很多使用Wabacus的用户我也不知道他们的项目名字,这里我列出一些愿意公开的项目:

  • 金昶网络科技电信增值业务平台
  • 哈尔滨市文化和新闻出版局办公系统
  • 实联化工业务支撑系统
  • 爱尔英语办公系统
  • 威海市公安信通部门办公系统
  • 江苏无锡某银行营业网点业务支持系统、资金流监控系统
  • 哈尔滨工程大学综合评教系统
其他更多的项目可以从Wabacus的论坛上通过别人的提问看得到,不过那里只是一部分用户的发贴,还有很多是私下找我咨询,没有在论坛上发贴。

用户如何提交bug、参与贡献? Top

目前用户如果在使用过程中发现BUG,或者有需要改进的地方,都是通过在QQ或QQ群中联系我,然后我登记下来,尽早解决。此外,还可以通过在Wabacus论坛中登记BUG。

目前用户参与贡献都是进行比较外围的工作,比如录制视频、对新手进行技术支持、制作新的主题风格、提供DEMO演示服务器和论坛服务器、进行捐助等等,在框架开发上的贡献较少。

如果有朋友希望参与Wabacus框架的开发,可以开发IDE工具之类的,Wabacus的核心还是不希望太多人经手,担心搞乱,毕竟框架代码比较复杂。

作者简介 Top

本人吴星星(笔名),2003年毕业,一直从事JavaEE方面的开发与架构,开发的项目涉及银行、政府、企业、证券等行业。对Java底层知识、面向对象的设计、可复用软件的设计非常感兴趣。

  • 大小: 34.3 KB
  • 大小: 61.7 KB


评论 共 134 条
134 楼 769034965 2013-03-07 22:05
感谢作者的无私奉献,
133 楼 349446658 2013-01-04 09:00
wabacus框架新启用了另一个论坛,地址为:http://wabacus.hrbeu.edu.cn
132 楼 rainbowsix 2012-11-29 08:46
跟我刚离开的一个公司的框架很像(数据展示部分)

也是用xml配置的页面。
131 楼 349446658 2012-10-10 17:55
MVC2008MVC 写道
code打不开啊。google 不配置IP访问不了。

没有明白你的意思,另外,不在这里回答使用上的问题,有问题请登记到wabacus论坛或者加入wabacus群进行提问,我会耐心回复的。
130 楼 MVC2008MVC 2012-10-10 17:51
code打不开啊。google 不配置IP访问不了。
129 楼 wwm4851186 2012-09-25 21:58
这些天看了实例,界面虽然不很花哨,功能很实用 值得研究
128 楼 349446658 2012-09-16 10:12
java-seven 写道
你好,我们公司想尝试此框架,但想得到源码,是否可以发给我们?

源码自己在google code上通过SVN进行check out,所有源码都在那里,如果有问题,可以在wabacus论坛跟我交流或者在QQ中跟我交流。
127 楼 java-seven 2012-09-14 20:13
你好,我们公司想尝试此框架,但想得到源码,是否可以发给我们?
126 楼 xiejin2008 2012-09-13 17:21
希望界面更加美观一些,加油!
125 楼 yuwenchun 2012-09-06 23:19
支持LZ,对如何快速开发一直非常感兴趣,近期下下来了解下,期待思想上有所提升。
124 楼 349446658 2012-09-06 09:47
無為子 写道
tmartin 写道
对框架内容研究不多,不过看了这评论,真让人汗颜!真没想到我们软件行业的部分同仁,素质如此之底下。特别那些操着貌似“专家”语言的人,你很有能力,我们欢迎展示你的平台,看看你的平台又有多优雅的设计!没有半点贡献,满嘴讽刺刁难的口气!

既然iteye愿意专访,既然这么多人用于实践,就说明其存在是有价值的。即使有你不喜欢的地方,为什么不敞开胸怀来接纳他,鼓励他呢?

心胸之狭隘!

在此向所有奋斗在开源占线的朋友表示感谢,支持Wabacus作者继续努力,广大开发者都会支持你的!


现在ITEye真的变了。很多充满浮躁情绪的同学成为了主流在左右着整个社区的气氛。

谢谢大家的支持,我觉得总体还是很好的,理解和支持开源的朋友还是占多数,从评论上也可以看出这一点。虽然有一小部分朋友浮躁了点,在不了解的时候就下结论,但世界本来就是这样丰富多采的,这样想我们就容易释然了。
现在使用wabacus的朋友越来越多了,在wabacus论坛讨论也越来越活跃了,说明越来越多的朋友在理解和支持wabacus,感觉到它带来的好处了。
123 楼 無為子 2012-09-05 22:23
tmartin 写道
对框架内容研究不多,不过看了这评论,真让人汗颜!真没想到我们软件行业的部分同仁,素质如此之底下。特别那些操着貌似“专家”语言的人,你很有能力,我们欢迎展示你的平台,看看你的平台又有多优雅的设计!没有半点贡献,满嘴讽刺刁难的口气!

既然iteye愿意专访,既然这么多人用于实践,就说明其存在是有价值的。即使有你不喜欢的地方,为什么不敞开胸怀来接纳他,鼓励他呢?

心胸之狭隘!

在此向所有奋斗在开源占线的朋友表示感谢,支持Wabacus作者继续努力,广大开发者都会支持你的!


现在ITEye真的变了。很多充满浮躁情绪的同学成为了主流在左右着整个社区的气氛。
122 楼 tmartin 2012-09-05 16:53
对框架内容研究不多,不过看了这评论,真让人汗颜!真没想到我们软件行业的部分同仁,素质如此之底下。特别那些操着貌似“专家”语言的人,你很有能力,我们欢迎展示你的平台,看看你的平台又有多优雅的设计!没有半点贡献,满嘴讽刺刁难的口气!

既然iteye愿意专访,既然这么多人用于实践,就说明其存在是有价值的。即使有你不喜欢的地方,为什么不敞开胸怀来接纳他,鼓励他呢?

心胸之狭隘!

在此向所有奋斗在开源占线的朋友表示感谢,支持Wabacus作者继续努力,广大开发者都会支持你的!
121 楼 349446658 2012-08-24 13:51
cuiyushan3 写道
请作者多考虑考虑我提的那些体验性的问题昂,毕竟用户才是上帝.

谢谢你的建议,你说的“图形界面拖曳”这种IDE开发工具确实能进一步加快一些简单需求的开发效率,对于复杂的需求,及熟悉wabacus配置的用户来说,提高的也不会很多。
因为wabacus支持继承配置和调用配置等模块化配置手段,可以减少很多的配置量,而且有完整的xml schema文件,可以对用户配置进行校验和提示,所以直接配置也很快的。
当然有IDE工具更能锦上添花,后面我会考虑实现的,也希望有兴趣、有时间、有水平的朋友也能参与进来,我在上面的“用户贡献”中也提到了这一点。
120 楼 cuiyushan3 2012-08-24 12:56
请作者多考虑考虑我提的那些体验性的问题昂,毕竟用户才是上帝.
119 楼 cuiyushan3 2012-08-24 12:54
song_in_china 写道
没啥可学的,给4流大学刚毕业的看看还凑合


带着批判的眼光看事物是对的,
但是起码要对批判的这个事物有所了解才可以!
118 楼 cuiyushan3 2012-08-24 12:50
wabacus用起来很方便,可以少写好多代码,真心觉得不错.

如果能有一个图形化的页面,去拖拽生成这个xml文件(像JBPM里画流程图,就直接生成xml),就更完美了.
117 楼 349446658 2012-08-23 11:40
song_in_china 写道
我觉得你做成common 包还好,做成一框架,就是最大的失败

对wabacus一点都不了解就不要妄下结论了,要不你详细说说你的理由,为什么是做成common包,而不能做成框架?
还说什么四流大学生学,wabacus的用户包括博士生以及很多N年工作经验的朋友呢,呵呵。
116 楼 song_in_china 2012-08-23 10:48
我觉得你做成common 包还好,做成一框架,就是最大的失败
115 楼 song_in_china 2012-08-23 10:47
评论了,还不让人看啊。。。。。。。。。。。。。。。。。       
114 楼 song_in_china 2012-08-23 10:46
没啥可学的,给4流大学刚毕业的看看还凑合
113 楼 349446658 2012-08-22 10:33
asd903039331 写道
公司让我自己搞这个框架,现在有2个星期了,现在搞得不知道做什么项目,这里表示刚毕业没多久,希望能给个完整的项目能学习一下。吴老师看见的话希望能够,如果可以的话发到903039331@qq.com邮箱,谢谢。。。

你在网上搜索一下“Wabacus示例项目”就能搜索到一位使用框架的朋友贡献和维护的示例项目,另外,要多看看DEMO,每个演示页面都有一个“查看配置”能看到当前页面是如何配置出来的,看懂一两个,然后再学着配置自己的,调通了就会了,很容易上手的,现在用框架的朋友基本上都是参考DEMO学会的。
112 楼 asd903039331 2012-08-22 10:17
公司让我自己搞这个框架,现在有2个星期了,现在搞得不知道做什么项目,这里表示刚毕业没多久,希望能给个完整的项目能学习一下。吴老师看见的话希望能够,如果可以的话发到903039331@qq.com邮箱,谢谢。。。
111 楼 349446658 2012-08-20 10:06
风云无浪 写道
如果有几百个配置项的话,可复用性怎么样呢?如果没有项目文档的话,可维护性又怎么样呢?我觉得像aop的配置就很零碎,要是粒度很细的话,我觉得就不能容忍了。如果项目文档很丰富的话,可能这些问题就少点了,但是写这些文档不是也加在开发时间了么

呵呵,你提的这些问题早就考虑到了。
wabacus支持报表表单的继承配置和调用配置,就像开发JAVA类一样,可以继承父报表然后覆写里面某部分的配置,或者调用其它地方定义好的配置。这些模块化配置手段可以进行最大程度的复用,减少重复配置。
DEMO配置了那么多报表表单,大量的使用了继承配置,如果看过DEMO的配置就很清楚了。
110 楼 风云无浪 2012-08-19 23:42
如果有几百个配置项的话,可复用性怎么样呢?如果没有项目文档的话,可维护性又怎么样呢?我觉得像aop的配置就很零碎,要是粒度很细的话,我觉得就不能容忍了。如果项目文档很丰富的话,可能这些问题就少点了,但是写这些文档不是也加在开发时间了么
109 楼 349446658 2012-08-09 10:28
zidafone 写道
支持国产开源框架,大赞一个!

以下与作者探讨,先承认我的水平远不如作者,以防被视为无脑喷子。
看了reportconfig.report下的xml们,比较直观的印象是“混杂”:控制逻辑和显示逻辑,自定义标签、html标签、js代码、java代码、sql代码。经典的表现层、业务层、持久层的划分的核心在于减少耦合和明确职责,而作者框架给我的感觉是把【连jdbc代码都写到页面里的纯jsp】进行封装后的框架,需要程序员编写的代码确实减少了,但是从“高内聚,低耦合”的原则上考量似乎还有可改善之处。目前看来真的优于借助代码生成工具开发的ssh系统吗?对此个人持保留态度。

以上与作者讨论,能力有限,有理解不当之处请海涵并指出!

你的这种误解我已经碰过很多次了,呵呵。
首先配置文件不是JSP页面,它是声明功能的地方,而不像JSP页面那样用来写代码实现功能(主要是展示功能)的地方,两个没有一点相似性和可比性。
在传统开发中,前台页面的配置在struts.xml、velocity.xml等配置文件中,数据库的配置在hibernate.xml或ibaits.xml中,中间业务配置在spring.xml中等等,搞得非常复杂,(当然这些配置文件也跟wabacus的配置文件一样,和jsp页面是两回事),代码量和配置量都很大,而且因为通常是不同人开发的框架,所以必须拆分开来配置在不同的配置文件中。
而在wabacus中,前台展示配置在<display/>标签和<format/>标签中,数据库访问配置在<sql/>标签中,业务处理由框架根据用户在这些标签的配置自动完成,因此结构是非常清晰的,因为没有像传统开发方法那样搞得很复杂,不需要在各层配置大量的配置代码,因此经常放在同一个配置文件中配置它们,这样就容易引起你们初次接触的人的误解。
所以,wabacus通常将一个报表或表单的配置放在同一个配置文件中,正是体现了wabacus配置的简洁性和高效性,开发一个功能不会像传统开发那样出现太多的代码和配置,这也是“代码减少60%以上”的原因。
当然,如果你习惯将展示层和数据库层分开配置,wabacus也是支持的,你可以将<display/>、<sql/>、<format/>等各配置在一个单独的配置文件中,然后由<report/>标签进行调用,组成一个完整的业务功能。
对于wabacus在配置文件中配置的JAVA代码,你都可以通过开发JAVA类的方式实现,而不需配置在配置文件中,选择哪一种方式完全根据你的偏好。
108 楼 zidafone 2012-08-09 09:47
问一下,发布的3.4版本的wabacus的源码的svn版本号是?
107 楼 zidafone 2012-08-08 19:41
支持国产开源框架,大赞一个!

以下与作者探讨,先承认我的水平远不如作者,以防被视为无脑喷子。
看了reportconfig.report下的xml们,比较直观的印象是“混杂”:控制逻辑和显示逻辑,自定义标签、html标签、js代码、java代码、sql代码。经典的表现层、业务层、持久层的划分的核心在于减少耦合和明确职责,而作者框架给我的感觉是把【连jdbc代码都写到页面里的纯jsp】进行封装后的框架,需要程序员编写的代码确实减少了,但是从“高内聚,低耦合”的原则上考量似乎还有可改善之处。目前看来真的优于借助代码生成工具开发的ssh系统吗?对此个人持保留态度。

以上与作者讨论,能力有限,有理解不当之处请海涵并指出!
106 楼 349446658 2012-08-08 10:28
yixibo 写道
下下來,跑不起,一個很嚴重的錯誤,不知道為何,現在什麼年代了,還在設置GBK編碼的,統一使用UTF-8不就完了麼。還有,你的文檔真是沒法看,希望 修正 。文檔至少告訴開發人員,那些文件應該放那兒吧。

你要知道,wabacus是框架,不是产品,更不是项目,它要适用于多种场合,当然除了要适用utf-8的场合,也要要适用于GBK的场合。总不能把使用GBK编码的项目拒之门外吧,呵呵。
如何集成不是通过文档进行介绍,而是通过提供一个空项目WabacusBlank告诉你如何集成的,你只要把WabacusBlank空项目相应的文件拷到你项目相应位置就可以了,文档和DEMO着重介绍如何使用的。
105 楼 yixibo 2012-08-07 16:46
下下來,跑不起,一個很嚴重的錯誤,不知道為何,現在什麼年代了,還在設置GBK編碼的,統一使用UTF-8不就完了麼。還有,你的文檔真是沒法看,希望 修正 。文檔至少告訴開發人員,那些文件應該放那兒吧。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • jpa SessionFactory事物失效

    前言:因为项目中使用jpa的SessionFactory用@Autowired的方式来操作Hibernate的Session,死活开不了事物,最后终于在一篇博客的帮助下,了解到使...

  • Dao 繼承 HibernateDaoSupport後,使用註解注入sessionFactory

    原创 Dao 繼承 HibernateDaoSupport後,使用註解注入sessionFactory ...

  • 小白提问ssh sping相关问题

     name="sessionFactory" ref="sessionFactory" /&gt;  name="articleDao" class="com.it8.dao.ArticleDaoImp"&gt;  name="sessionFactory" ref="sessionFactory" /&gt; [code=JSP]  name=...

  • java面试提问收集

     SessionFactory 并从中获取 Session 实例。   而 Session 并非线程安全,也就是说,如果多个线程同时使用一个 Session 实例进行数据存取,   则将会导致 Session 数据存取逻辑混乱 . 因此创建的 Session ...

  • 面试官会问关于spring的哪些问题?

    什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发...用Spring的 SessionFactory 调用 ...

  • 关于Eclipse的SSH框架整合

    一、什么是SSH SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。...2.spring与hibernate整合是将sessionfactory交给spring来负责维护。 3. spring负责session维护...

  • 关于IT的看法

    反正有传智播客的老师可以依靠,拿回来就让我们做,还说“做好了就有高薪工作,这关于我一辈子的幸福,老师你自己看这个忙帮不帮吧?”,软件公司这招够狠!我们这批老师成了这些公司免费使用的超级劳工。如果奥巴马...

  • 两万字Java研发工程师实习面试HR提问整理(基础篇)

    是否了解过线程并发库和线程池 jdk1.5后,java.util.current包提供了很多关于线程并发的类 java通过Executor提供的四个静态方法进行创建4种线程池 使用线程池的作用: 1.限制线程的个数,不会导致由于线程过多导致...

  • Spring中使用了哪些设计模式?(再也不怕面试官提问了)

    但是现在,由于项目的需要,我们的DAO在访问sessionFactory的时候都不得不在多个数据源中不断切换,问题就出现了:如何让sessionFactory在执行数据持久化的时候,根据客户的需求能够动态切换不同的数据源?...

  • 关于Spring中常被问到的一些问题

    Spring 1、你一般用spring做什么? 控制反转IOC AOP 2、spring中的哪个类的哪个方法可用于获取bean ApplicationContext类的getBean()方法。 3、spring是什么?...关于Spring中常被问到的一些问题

  • 关于HIbernate缓存的配置

    提问者: jfheng - 试用期 一级 最佳答案 缓存存在的目录可以读写吗? Hibernate+ehcache二级缓存技术2007-10-31 17:061、首先设置EhCache,建立配置文件ehcache.XML,默认的位置在...

  • 关于hibernate.hbm2ddl.auto

    注意,很多Hibernate新手在这一步会失败,我们不时看到关于Table not found错误信息的提问。 但是,只要你根据上面描述的步骤来执行,就不会有这个问题,因为hbm2ddl会在第一次运行的时候创建数据库schema, 后续的...

  • 数据结构与算法面试

    关于这个解法最形象的比喻就是在操场当中跑步,速度快的会把速度慢的扣圈 可以证明,p2追赶上p1的时候,p1一定还没有走完一遍环路,p2也不会跨越p1多圈才追上 我们可以从p2和p1的位置差距来证明,p2一定会赶上p1...

  • 关于Hibernate一个配置参数hibernate.hbm2ddl.auto

    注意,很多Hibernate新手在这一步会失败,我们不时看到关于Table not found错误信息的提问。但是,只要你根据上面描述的步骤来执行,就不会有这个问题,因为hbm2ddl会在第一次运行的时候创建数据库schema,后续的...

  • 一些面试题

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?  可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、Java有没有goto?  java中的保留字,现在没有在java中...

  • 我的Java开发学习之旅------>Java经典面试题

    反正有传智播客的老师可以依靠,拿回来就让我们做,还说“做好了就有高薪工作,这关于我一辈子的幸福,老师你自己看这个忙帮不帮吧?”,软件公司这招够狠!我们这批老师成了这些公司免费使用的超级劳工。如果奥巴马...

  • 实验-三、数据库安全性(目的、要求和模板).doc

    实验-三、数据库安全性(目的、要求和模板).doc

  • 基于Docker搭建K8s集群离线包

    基于Docker搭建K8s集群离线包,包含部署时所需的全部文件,可在内网环境中使用,K8s为1.23.0版本,docker为20.10.9-3版本

  • 基于springboot+vue实现的求职招聘类型网站源代码+数据库(优质毕设项目).zip

    基于springboot+vue实现的求职招聘类型网站源代码+数据库(优质毕设项目).zip个人经导师指导并认可通过的98分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! 基于springboot+vue实现的求职招聘类型网站源代码+数据库(优质毕设项目).zip个人经导师指导并认可通过的98分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! 基于springboot+vue实现的求职招聘类型网站源代码+数据库(优质毕设项目).zip个人经导师指导并认可通过的98分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行!基于springboot+vue实现的求

  • 基于Android系统Api封装常用工具类.zip

    基于Android系统Api封装常用工具类.zip

Global site tag (gtag.js) - Google Analytics