Spring 框架

调用者依赖被调用者,它们之间形成了强耦合,如果我想在其他地方复用某个类,则这个类依赖的其他类也须要包含。
程序就变得很混乱,每个类相互依赖相互调用,复用度极低。
如果一个类做了修正,则依赖它的很多类都会受到牵连。
为此,涌现Spring框架。

Spring的浸染便是完备解耦类之间的依赖关系,一个类如果要依赖什么,那便是一个接口。
至于如何实现这个接口,这都不主要了。
只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。
所有类之间的这种依赖关系就完备通过配置文件的办法替代了。
以是Spring框架最核心的便是所谓的依赖注射和掌握反转。

javaweb的jsp页面框架Java Web的框架 Node.js

spring MVC 框架

Spring MVC属于SpringFrameWork的后续产品,已经领悟在Spring Web Flow里面。
Spring 框架供应了构建 Web 运用程序的全功能 MVC 模块。
利用 Spring 可插入的 MVC 架构,从而在利用Spring进行WEB开拓时,可以选择利用Spring的SpringMVC框架或集成其他MVC开拓框架,如Struts1,Struts2等。

它是一个范例的教科书式的mvc构架,而不像struts等都是变种或者不是完备基于mvc系统的框架,对付初学者或者想理解mvc的人来说我以为 spring是最好的,它的实现便是教科书!
第二它和tapestry一样是一个纯洁的servlet系统,这也是它和tapestry比较 struts所具有的上风。
而且框架本身有代码,看起来随意马虎理解。
Data Access Objects(DAOs)。

MyBatis 框架

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
2013年11月迁移到Github。

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。
iBATIS供应的持久层框架包括SQL Maps和Data Access Objects(DAOs)。

Jersey 框架

Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。
它扩展了JAX-RS 参考实现, 供应了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开拓。
只管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。
与Struts类似,它同样可以和hibernate,spring框架整合。

由于Struts2+hibernate+spring整合在市场的霸占率太高,以是很少一部分人去关注Jersey。
以是网上有关于Jersey的先容很少。
但是它确实是一个非常不错的框架。
对付要求式做事,对付GET,DELETE要求,你乃至只须要给出一个URI即可完成操作。

举个大略的例子:如果你想得到做事器数据库中的所有数据;那么你可以在浏览器或者利用Ajax的GET方法,将路径设置好;例如:localhost:8080/Student(项目名称)/studentinfo(项目做事总体前缀)/student(处理student工具的签注)/getStudentInfo(末了前缀)。
这样就可以获取所有学生信息。
你可以选择GET获取的数据的返回类型:JSON,XML,TEXT_HTML(String)..获取之后,你可以通过JS将这些数据塞到html或者jsp页面上。

Hibernate 框架

Hibernate 是一种ORM框架,全称为 Object-Relative Database-Mapping,在Java工具与关系型数据库之间建立某种映射,以实现直接存取Java工具(POJO)。
ORM框架是一种不同与MVC的另一种思想框架,适用范围也与MVC截然不同。

利用JDBC连接来读写数据库,我们最常见的便是打开数据库连接、利用繁芜的SQL语句进行读写、关闭连接,得到的数据又须要转换或封装后往外传,这是一个非常啰嗦的过程。

这时涌现了Hibernate框架,它须要你创建一系列的持久化类,每个类的属性都可以大略的看做和一张数据库表的属性逐一对应,当然也可以实现关系数据库的各种表件关联的对应。
当我们须要干系操作是,不用再关注数据库表。
我们不用再去一行行的查询数据库,只须要持久化类就可以完成增编削查的功能。
使我们的软件开拓真正面向工具,而不是面向混乱的代码。
我的感想熏染是,利用Hibernate比JDBC办法减少了80%的编程量。

Struts2框架

Struts2以WebWork精良的设计思想为核心,接管了Struts框架的部分优点,供应了一个更加整洁的MVC设计模式实现的Web 运用程序框架

Struts2以WebWork精良的设计思想为核心,接管了 Struts框架的部分优点,供应了一个更加整洁的MVC设计模式实现的Web 运用程序框架。
Struts2引入了几个新的框架特性:从逻辑等分离出横切关注点的拦截器、减少或者肃清配置文件、贯穿全体框架的强大表达式措辞、支持可变更和可重用的基于MVC模式的标签API, Struts2充分利用了从其它MVC框架学到的履历和教训,使得 Struts2框架更加清晰灵巧。

Struts 框架

为理解决这些问题,涌现了Struts框架,它是一个完美的MVC实现,它有一个中心掌握类(一个Servlet),针对不同的业务,我们须要一个Action类卖力页面跳转和后台逻辑运算,一个或几个JSP页面卖力数据的输入和输出显示,还有一个Form类卖力通报Action和JSP中间的数据。
JSP中可以利用Struts框架供应的一组标签,就像利用HTML标签一样大略,但是可以完成非常繁芜的逻辑。
从此JSP页面中不须要涌现一行<%%>包围的Java代码了。
可是所有的运算逻辑都放在Struts的Action里将使得Action类复用度低和逻辑混乱,以是常日人们会把全体Web运用程序分为三层,Struts卖力显示层,它调用业务层完成运算逻辑,业务层再调用持久层完成数据库的读写。

框架整合

最初是Struts+ Spring + Hibernate。

后来演化为Struts2 + Spring + Hibernate。

后来随着Spring的强大以及Struts漏洞上的等等问题,演化成为了Spring + SpringMVC + Hibernate/Mybatis 互联网这块比较常见的是Mybatis。

最近也逐步演化为了Springboot + Mybatis。

springboot 框架

springboot 框架,被称作一栈式办理方案。
比较轻量,也是当前微做事下的趋势;springboot本身便是构建与spring之上,各种思想和特性无需多说,去掉了spring繁琐的配置,简化了原有spring开拓的流程,供应了各种实用的特性如metric,actuctor等等;最主要的是springboot附带了全体springcloud生态。
两个框架对你办理大,中,小项目都没任何问题

play 框架

play可能更加倾向于scala点,本身轻量性能高,随着逐步的优化易用性以及扩展性都变得越来越好;

jfinal 框架

JFinal 是基于Java 措辞的极速 web 开拓框架,其核心设计目标是开拓迅速、代码量少、学习大略、功能强大、轻量级、易扩展、Restful。
在拥有Java措辞所有上风的同时再拥有ruby、python等动态措辞的开拓效率。

Vue.js 框架

严格来说这个该当不属于框架, 从组建布局上来讲 是和reactjs 类似的布局UI组件的。
从整体逻辑来讲, 他要办理的是MVVM的VM这个部分, 便是如何把运用程序的model 和 view 联系起来的这个VM(view model) 部分。
众所周知, MVC这个design pattern争议大的便是这个C的部分, 以是才有各种MV 的方案提出。
他利用起来确实比reactjs 大略方便多了。
代码也清晰。
借鉴了angularjs的declarative的特点。
其余文档, 例子做的都很俊秀。
上手比较快, 这些都是很好的优点。