java流行框架
㈠ java目前主流框架都有哪些
1.Spring
这是其他Java框架中的绝对领导者。 掌握Spring是Java开发人员职位最普遍的要求之一。 造成这种情况的原因很多,但主要的原因是普遍性。
2.Play
Play是大多数开发人员喜欢的另一个轻量级框架。 它允许您使用Java和Scala构建Web应用程序。 它是为满足现代移动和Web应用程序的需求而设计的。
3.Spark
Spark Framework是Java和Kotlin编程语言的一种微框架和特定于领域的语言。 Kotlin也可以在JVM上运行,并且可以与Java 100%互操作。 使用Spark,您可以轻松开发Web应用程序,微服务和REST API。
4. JHipster
Jhipster是最新的Java框架之一。 它于2013年发布。Jhipster将Spring Boot,Angular和React集成到一个大型框架中。 它使您可以轻松构建基于Java的现代Web应用程序。
5.Blade
Blade是一个轻量级的Java 8+ MVC框架。 当我们谈论Blade的轻巧性时,是指其源代码的大小,该大小不超过500KB。
6.Hibernate
在谈论最佳的Java Web框架时,不能忽视Hibernate。
Hibernate是一个ORM(对象/关系映射)框架。 它允许您不使用SQL而是使用Java将查询写到数据库服务器,这通常会改变数据库的常规外观。
7. MyBatis
MyBatis是用于Java编程的映射框架。 它简化了将Java应用程序与SQL数据库链接的过程:它充当它们之间的中间件。
8.Struts
Struts是用于创建企业级Java Web应用程序的开源MVC(模型-视图-控制器)框架。 最初的Struts框架(Struts 1.x)在2007年与WebWork框架合并时进行了重建。 Struts 1.x和Struts 2.x不可互换,因为它们之间存在重要区别。 您可以从Struts的Releases页面下载。
9.Vaadin
Vaadin是一个开放源代码客户端服务器框架,可让您使用预先设计的UI组件创建Web应用程序。 它是专门针对业务应用程序而构建的,重点是可访问,美观且直观的用户界面。
10. JavaServer Faces(JSF)
JSF是一种JCP标准技术,用于在Java EE平台上创作基于组件的用户界面。 该框架可能不是最好的框架,但是最大的好处是Oracle支持,许多其他工具,出色的文档以及友好的社区。
㈡ java学习的主流框架有哪些
Java前景是很不错的,像Java这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,学习Java可以按照路线图的顺序,
0基础学习Java是没有问题的,关键是找到靠谱的Java培训机构,你可以深度了解机构的口碑情况,问问周围知道这家机构的人,除了口碑再了解机构的以下几方面:
1. 师资力量雄厚
要想有1+1>2的实际效果,很关键的一点是师资队伍,你接下来无论是找个工作还是工作中出任哪些的人物角色,都越来越爱你本身的技术专业java技术性,也许的技术专业java技术性则绝大多数来自你的技术专业java教师,一个好的java培训机构必须具备雄厚的师资力量。
2. 就业保障完善
实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。
3. 学费性价比高
一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java教师领导并由Java培训机构自己提供的平台上工作,你将获得比以往更多的投资。
希望你早日学有所成。
㈢ 常用的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