SSH中个框架的作用
Struts:
1、管理用户的请求和响应。
2、提供一个控制器来讲调用委托到业务逻辑和其他上游处理
3、将来自抛出例外的其它层的例外处理到Struts Action中
4、组装可以再视图中表现的模型对象
5、执行UI校验
下面是一些Struts常进行的编码,但是不是应该和表现层关联的事情
(1)直接与数据库交互,比如JDBC调用
(2)与应用相关的逻辑和校验
(3)事务管理
*注:在表现层引入这些代码将导致类型耦合和维护的负担!
Hibernate
*Hibernate属于持久层,允许JAVA中的对象-关系的持久性和查询服务。
1、查询关系信息到对象中。Hibernate是通过称为HQL的OO查询语言(HQL非常类似SQL)
2、存储、更新和删除存数在数据库中的数据
3、高级的对象关系映射框架比如Hibernate支持大部分主流SQL数据库,他们支持父/子关系,事物、继承、多态。
*下面是应该避免在持久层的一些事情:
(1)业务逻辑应该置于应用的更高层中,这里只允许数据访问方法。
(2)不应该使持久逻辑和表现逻辑耦合。避免表现组件如JSP或者基于servlet的类中的逻辑直接和数据访问通信。通过将持久逻辑隔离在其自己的层中,应用将具有更将灵活的修改性而不影响到其它层的代码。例如,Hibernate可以使用其他持久框架和API代替,而不需要修改其他层中的代码。
Spring
1、处理应用的业务逻辑和业务校验
2、管理事务
3、允许与其它层进行交互的接口
4、管理业务及对象之间的依赖性
5、加入了表现和持久层之间的灵活性,以便他们不需要彼此进行直接的通信
6、从表现层暴露上下文给业务层以获得业务服务
7、管理从业务层到表现层的实现
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 一个适用于 .NET 的开源整洁架构项目模板
· AI Editor 真的被惊到了
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用