Java
三大框架的初步理?/p>
1
?/p>
Struts
是一个基?/p>
Sun J2EE
平台?/p>
MVC
框架,主要是采用
Servlet
?/p>
JSP
技术来实现
的?/p>
struts
主要负责表示层的显示?/p>
Hibernate
是一个开放源代码的对象关系映射框架,它对
JDBC
进行了非常轻量级的对象封
装,使得
Java
程序员可以随心所欲的使用对象编程思维来操纵数据库?/p>
hibernate
主要?/p>
数据的持久化到数据库?/p>
Spring
是一个解决了许多?/p>
J2EE
开发中常见的问题的强大框架?/p>
Spring
提供了管理业?/p>
对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯?/p>
spring
利用它的
IOC
?/p>
AOP
来处理控制业务(负责对数据库的操作)?/p>
2
?/p>
首先
hibernate
是一个持久层框架,轻量级
(
性能?/p>
)
?/p>
orm
映射灵活,对表与表的映射关系
处理的很完善,对
jdbc
做了良好的封装,使得我们开发时与数据库交互不需要编写大量的
sql
语句?/p>
?/p>
struts
是一?/p>
mvc
?/p>
web
层框架,底层是对
servlet
的大量封装,拥有强大的拦?/p>
器机制,主要负责调用业务逻辑
Service
层?/p>
三大框架的大致流?/p>
jsp->struts->service->hibernate
?/p>
因为
struts
负责调用
Service
从而控制了
Service
的生命周期,使得层次之间的依赖加强,也就是耦合?/p>
所以我们引用了
spring
?/p>
spring
在框架中充当容器的角色,
用于维护各个层次之间?/p>
关系。通过
IOC
反转控制
DI
依赖注入完成各个层之间的注入,使得层与层之间实现完全?/p>
耦,增加运行效率利于维护?/p>
并且
spring
?/p>
AOP
面向切面编程,实现在不改变代码的情况下完成对方法的增强?/p>
比较常用的就?/p>
spring
的声明式事务管理,底层通过
AOP
实现,避免了我们每次都要手动
开启事物,提交事务的重复性代码,使得开发逻辑更加清晰?/p>
这样应付面试应该可以了,不过他可能会细问,比?/p>
hibernate
的懒加载?/p>
spring
?/p>
AOP
?/p>
IOC
原理等,这个还需要在准备准备
3
?/p>
struts
是一个控制器,负责接收页面数据并调用视图层的方法返回页面所需要的数据?/p>
hibernate
负责数据的持久化,因为现在一般采用的数据库都是关系型数据库,?/p>
java
是面
向对象的,所?/p>
hibernate
负责数据的落地,
spring
则把变化封装了,通过
spring
完成依赖
注入?/p>
能降低各个模板间的耦合?/p>
有利于提高项目各个模板间的复用,
使系统更加趋近于?/p>
内聚,低耦合的要求?/p>