Ⅰ java哪些开源框架的源代码值得一读
Spring
spring做为现在最流行java web框架,可以作为任何一个项目的基础框架,值得仔细研究学习
Ⅱ 常用的Java Web框架简介
Web框架是人们在使用某种语言编写Web应用服务端时关于架构的最佳实践
有些Web框架是从实际的Web项目抽取出来的 也就是说 做一个具体的应用项目时 采取的架构比较理想 就把这部分和领域无关 而仅和Web的请求和响应处理有关的设计拿出来 形成一个基础 在开发别的应用项目的时候则可以从这基础做起 让开发者更关注领域问题 而不是Web的请求和响应的控制
也有些Web框架是直接设计出来的 很多Web框架在设计的时候也都借鉴了别的框架 吸取优点 修改不足 并根据自己的框架的定位 在特定方面有自己的发挥 形成了自己的特点 比如有的web框架追求的是松耦合性 层次 结构之间都不密切绑定 有的Web框架则追求敏捷性 强调约定而不是配置
Java 的 Web框架虽然各不相同 但基本也都是遵循特定的路数的 使用Servlet或者Filter拦截请求 使用MVC的思想设计架构 使用约定 XML或 Annotation实现配置 运用Java面向对象的特点 面向抽象实现请求和响应的流程 支持Jsp Freemarker Velocity等桐氏视图
JSF
优点
Java EE标准 这意味着有很大的市场需求和更多的工作机会
上手快速并且相对容易
有大量可用的组件库
缺点
大量的JSP标签
对REST和安全支持不好
没有一个统一的实现 既有SUN的实现 又有Apache的实现——MyFaces
国内的OperaMasks还支持AJAX 以及有开发工具 支持
Spring MVC
优点
对覆盖绑定(overriding binding) 验证(validation)等提供生命周期管理
与许多表示层技术/框架无缝集成 JSP/JSTL Tiles Velocity FreeMarker Excel XSL PDF 等
便于测试——归功于IoC
缺点
大量的XML配置文件
太过灵活——没有公共的父控制器
没有内置的Ajax支持
Stripes
优点
不需要书写XML配置文件
良好的学习文档
社区成员很热心
缺点
社区比告埋较小
不如其他的项目活跃
ActionBean里面的URL是硬编码的
Struts
优点
架构简单——易于扩展
标记库很容易利用FreeMarker或者Velocity来定制
基于控制器或者基于页面的导航
缺点
文档组织得很差
对新特征过分关注
通过Google搜索到的大多是Struts x的文档
Tapestry
优点
一旦学会它 将极大地提高生产率
HTML模板——对页面设计师非常有利
每出一个新版本 都会有大量的创新
缺点
文档过于概念性 不够实用
学习曲线陡峭
发行周期长——每年都有较大的升级
Wicket
优点
对Java开发者有利(不是Web开发者)
页面和显示绑定紧密
社区活跃——有来自创建者的支持
缺点
HTML模板和Java代码紧挨着
需要对OO有较好的理解
Wicket逻辑——什么都用Java搞定
在Java的Web框架中 我使用过Struts Struts 试用过Stripes Wicket 了解过JSF SpringMVC 以我使用的经验 我觉得看一局友散个Java Web框架应看看下面几个方面
设计理念
一个框架设计出来应该有一个基本的思路 它为什么要要被设计出来?有的框架的目标 就是提高效率 有的框架的目标的给用户充分的选择 有的框架的目标是充分了解实际需求 给用户一个尽量合理的默认选择 有的框架是要给使用者开发桌面程序的感觉 应该说 一个好的框架应该是实现了预期目标 体现出了自己的设计理念的
设计的合理性
设计的合理性表现在框架在一些关键问题上的处理 比如灵活性和敏捷性之间的权衡 硬编码和文本配置之间的权衡 灵活性指的是可以适应用户多样的需求 很特殊的要求也能得到支持 有的框架的实现基于太多的约定 使得用户只能遵循 而敏捷性指的是用户在解决绝大多数常规问题的时候 能尽量少做工作 提高效率 框架设计者只能在这两者见达到一个平衡点 权衡的怎么样 就很见水平了 硬编码和文本配置之间的权衡也很有意思 文本配置的意义在于Java是一个编译语言 强调代码的封闭 讲究扩展而不是修改 这种情况下文本配置信息可以很方便的在不修改程序的情况下改变程序行为 但是随着一些灵活的脚本语言实现的 Web框架的出现 人们发现在这样的框架中 脚本语言即做程序编码语言 也做配置语言 还做视图上的标记语言 这使我们对Java实现的框架有了一番新的审视 既然配置文件并没有消除对程序的修改 为什么不能在应编码上下下功夫呢?
设计的平衡性
设计的平衡性指的是 框架在设计流程中各阶段 各层次的实现方式时 所达到的上述权衡(灵活性和敏捷性之间的权衡等)应该是具有一致的水平 一个在控制上过分灵活 而视图上具有非常大限制的框架是不能算做一个好的框架的
框架真的解放了开发者吗
框架的目的是让开发者把更多的精力放在领域问题 而非Web的请求和响应的处理问题上 而事实上框架都做到这一点了吗?不可否认 框架的使用提高代码的可维护性 但是框架在解放开发者这点上就未必了 有时还给开发者带来了额外的负担 事实上 直接使用Servlet 只要维持好代码风格 一样可以很有效率 当然 直接使用Servlet的灵活性就不用说了
在我接触的Web框架中 我最推崇的是Struts 设计优雅 偏重灵活 也基本不造成额外的负担 当然这些评价是和我参与的项目的规模有关的 其他规模的项目Struts 就未必合适了 我希望Struts 能在下面几个方面有些改善
在提供文本配置方式的基础上给一个约定配置的方式 让开发者在大多数情况下可以不配置
配置也支持硬编码 因为有时候维护可修改的硬编码是很有效率的
lishixin/Article/program/Java/hx/201311/26313
Ⅲ java开源框架的源代码怎么读
Java开源框架的源代码怎么读?说读开源框架的源代码对自己写程序很有帮助的,我不知道从那里下手
找一个你熟悉的项目,下回来源码,然后单步跟踪一遍,前题有一定基础,至少会单步跟踪调试对ide也得熟悉些,项目别选太大的,像apache里面的项目都还可以。一开始还是比较艰难的,时间长了就好了。
如同你看不懂高手过招一样。
还是一步一步的来吧。
先看一些基础知识,写一些东西,然后重点看自己用到的,或者即将用到的部分,这样提高效果会更好。
开始的时候是把源代码关联,有不明白的地方可以ctrl直接过去看。之后有一些积攒之后,可以去看开源项目中的闪亮的地方,比如Spring中的IOC。然后参照自己去实现一个简单的DEMO,之中可以参考一些资料。个人理解这样会比较快速的将一个项目中的一部分较为深入的了解。毕竟一个成熟的开源项目技术的积攒及范围都比较大。完全了解没有必要也没有可能。
我读Spring的经验。
首先要搞清它大体的处理步骤,然后再去详细看每个类的具体内容。读代码,最忌从一开始就企图详细理解一个大工程的所有细节。先看大匡,然后再逐步掌握自己感兴趣的细节。
读代码的时候可以把框架的代码读取到IDE的工程中去,
例如,用Eclipse读代码,方便得很。
或者在开发中设定classpath时,把代码也带上,
个人认为,多看例如JDK、Spring这样优秀的代码,对于掌握Java编程的精髓很有帮助。
初学者也不例外!
其实框架就是DB访问,画面显示,资源管理。
首先要知道你的框架的特点,也就是他的侧重点。
我看源代码喜欢全局搜索,一直找到Java自带的基础类。一条先走到黑。嗬嗬,挺笨的
不过建议先会用,熟练用,在研读。会快一些,少走弯路
不管是在校的学生还是刚参加工作的,都要从基础开始,把一些经典的基础问题搞明白了之后再去研究框架,其实感觉框架要先明白框架的总体,有时候不明白框架甚至看着源代码都不知道属于哪一类,引入也会产生问题,之后在去看源代码。最主要的是光看不行,要亲手做一下,即使是最简单的程序也要亲手做,如果是人家的程序照着手动敲一遍也会有很大的收获的
对于开源项目,我觉得从如下方面着手比较好:
2.了解整体项目的技术架构
3.熟悉它用的技术与知识面,并逐个掌握
4.从单个模块着手,调试代码,熟悉基基本的流程与业务
5.在不修改其源码的基础上做一些扩展开发的工作,为我所用6.修改并优化其代码
Ⅳ java有什么常用开源的框架
java常用开源框架如下:
1.Spring Framework 【Java开源JEE框架】
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
2.WebWork 【Java开源Web开发框架】
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。
3.Struts 【Java开源Web开发框架】
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中
4.Hibernate 【Java开源持久层框架】
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合
5.Quartz 【Java开源调度框架】
Quartz是OpenSymphony开源组织在Job scheling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。
6.Velocity 【Java开源模板引擎】
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
7.IBATIS 【Java开源持久层框架】
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
Ⅳ java框架有哪些常用框架
十大常用框架:
一、SpringMVC
二、Spring
三、Mybatis
四、Dubbo
五、Maven
六、RabbitMQ
七、Log4j
八、Ehcache
九、Redis
十、Shiro
Ⅵ java有哪些框架需要学习呢
Java有三大框架:Struts,Hibernate和Spring。struts是开源软件,通过学习struts的流程,架构,model部分,view部分和contorller组件来了解框架;Hibernate是开源代码的对象关系映射框架,通过学习session接口等来了解框架。
1.三大框架简介1、Spring Spring 是一个解决了许多在J2EE 开发中常见的问题的强大框架. Spring 提供了管理业务对 象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring 的架构基础是 基于使用JavaBean 属性的Inversion Control容器.然而,这仅仅是完整图景中的一部 分:Spri
跟着这个网站学吧:网站内容丰富,既有Java SE的基础:中级:前端:J2EE:Java框架:还有实践项目:我自己就是跟着上面的顺序一路学过来...
2.Java 语言编写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务--如... 开始的学习和应用非常的艰苦,很多东西都不 能一下子就很容易的理解.EJB 要严格地...
这是两种以跨平台为特色的开发方式.Qt更多被认为是一种框架,但是Qt中有新增一些C... 博文 在博主认为,学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将...查看全部
2016年8月22日-根据每个人的学习方式、方法不同,可以制定具体的计划。今天为大家整理了搭建Java知识框架的几个方法... java框架SSM一. 序言本次培训分四个阶段进行,...
3.2008年1月3日-和如何学习JAVA框架的一点看法吧,希望对“望而生畏”的您,和“蠢蠢欲动... 自己需要的时候去过来就行,个人也认为这是很好的一种方式,往往自己从... 这就是第二个问题。 第二个问题,我想分两方面来回答一下。1、学什么?想要学好,当...
2016年8月3日- 用配置文件或者是Annonation的方式来代替New创建实例,可以说这是一个... Java框架学习 顺序是哪些? Java框架学习 顺序是哪些?详细步骤具体如下:...
[ 图文 ] 2013年12月9日- 三大框架简介JAVA三大框架用来做WEB应用。struts主要负责表示层的显示spring利用Java框架学习方法更多下载资源、学习资料请访问CSDN文库频道....
Java 语言编写的 AOP框架, 它给 POJOs 提供了声明式的事务管理和其他企业事务--如... 在 EJB 开始的学习和应用非常的艰苦, 很多东西都不能一下子就很容易的理解.
希望能帮到你,谢谢!