Spring框架使用了哪些设计模式? [关闭]

2024-01-03

Spring框架使用了哪些设计模式?


使用了大量不同的设计模式,但有一些明显的:

  • 代理 - 大量使用AOP http://static.springframework.org/spring/docs/2.5.x/reference/aop.html#aop-understanding-aop-proxies, and remoting http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html.

  • Singleton - spring 配置文件中定义的 bean 默认情况下是单例。

  • 模板方法 - 广泛用于处理样板重复代码(例如干净地关闭连接等)。例如Jdbc模板 http://static.springframework.org/spring/docs/2.5.x/reference/jdbc.html#jdbc-JdbcTemplate, Jms模板 http://static.springframework.org/spring/docs/2.5.x/reference/jms.html#jms-jmstemplate, Jpa模板 http://static.springframework.org/spring/docs/2.5.x/reference/orm.html#orm-jpa-template.


更新以下评论:对于 MVC,您可能需要阅读MVC 参考 http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html

MVC 中使用的一些明显模式:

  • 模型视图控制器 https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller:-) 。 Spring MVC 的优点是您的控制器是 POJO,而不是 servlet。这使得控制器的测试变得更加容易。需要注意的一点是,控制器只需要返回一个逻辑视图名称,而视图选择则留给单独的视图解析器 http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html#mvc-viewresolver。这使得为​​不同的视图技术重用控制器变得更加容易。

  • 前置控制器 https://www.oracle.com/technetwork/java/frontcontroller-135648.html。 Spring提供调度程序Servlet http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/servlet/DispatcherServlet.html以确保传入请求被分派到您的控制器。

  • 查看助手 https://www.oracle.com/technetwork/java/viewhelper-139885.html- Spring 有许多自定义 JSP 标记和速度宏,以帮助将代码与视图中的表示分离。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring框架使用了哪些设计模式? [关闭] 的相关文章

随机推荐

  • org.hibernate.AnnotationException:没有为使用 JPA XML 实体映射的实体指定标识符

    我现在使用 Hibernate 5 2 4 Final 从 5 2 3 升级 看看这是否可以修复错误 但仍然没有成功 我有以下 SQL CREATE TABLE Token tokenId BIGINT PRIMARY KEY uuid U
  • 如何导航到相同的父状态

    根据我对 Gmail 和 TED 应用程序的观察 向上导航的行为它将导航到具有相同状态 滚动位置 的父项 这与 Google 在其文档中所说的不同实施向上导航 http developer android com training impl
  • 函数参数中的元组解包

    在下面的函数中 args i 应该通过以下方式解压到函数 func 的参数中 然而在它之前传入的是一个列表 我缺少什么 def mymap func seq args list zip seq ret for i in range len
  • Django allauth - 设置 Facebook 重定向

    在我的应用程序中 我有一个 next 参数 因此当用户登录时 他们将被重定向到他们来自的地方 示例 www mysite com login next www mysite com some section 我在用Django allaut
  • 根据用户角色类型更改布局

    我是 MVC 新手 我浏览了堆栈上的类似帖子 但它们似乎对我的问题没有帮助 我有两个角色管理员和用户 当一个人登录时 我希望布局根据该人是否登录而改变Admin特权或User特权 My Admin布局是 Layout cshtml My U
  • 存储大量会话数据的最佳位置[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 HTML/CSS UI 构建原生 C++ 应用程序? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以在使用 HTML 和 CSS 作为用户界面的同时开发 C 程序 我了解如何使用 Webkit 容
  • Python 中有依赖注入容器吗?

    一直在摆弄 python 像往常一样 它让我严格的静态类型面向对象世界变得有点混乱 Python 支持鸭子类型 没有基于接口的编程的可用概念 如 C 接口 并允许全局变量 有了所有这些好处 依赖注入容器真的有任何意义吗 或者 Python
  • 如何在ios 6中的地图上绘制路线?

    我想显示地图并在地图上绘制路线 我的应用程序支持 ios 4 plus 那么我应该如何使用地图在 ios 6 和以前的版本上工作 我还想知道我应该在我的应用程序中使用自定义地图视图来显示地图和路线 还是应该使用 UIApplication
  • Objective C 中的网页抓取

    有没有用于解析 HTML 的 Objective C 库 比如 python 的 BeautifulSoup 谢谢 从Apple的部分来看有NSXML文档 http developer apple com library mac docum
  • 当 hashcode() 返回零时,对 Collection 实现有何影响

    好吧 只是为了知识 它对像这样的 Collection 实现类有什么意义hashmap hashset等等如果object s hashcode方法总是返回0 in a demoClass 我知道这与putForNullKeyhashmap
  • 表视图单元格的圆角半径

    我需要更改单元角半径 如下图所示 func tableView tableView UITableView willDisplayCell cell UITableViewCell forRowAtIndexPath indexPath N
  • 在 C# 中随机“排序”(随机播放)整数列表的最有效方法

    我需要以最有效的方式对整数列表 0 1999 进行随机 排序 有任何想法吗 目前 我正在做这样的事情 bool bIndexSet new bool iItemCount for int iCurIndex 0 iCurIndex lt i
  • Microsoft.Data.Sqlite.SqliteException:“SQLite 错误 14:‘无法打开数据库文件’。”

    我收到此错误 Microsoft Data Sqlite SqliteException SQLite 错误 14 无法打开数据库文件 当我尝试运行此代码时 它是一个 UWP 应用程序 并且我正在使用 sqlite private void
  • “无法将 ?attr/colorPrimary 转换为可绘制对象”

    我正在开始一个新项目 所以该项目或多或少是 空的 我刚刚添加了一个 MainActivity 和一个 MainActivity Fragment 我根本没有向它们添加任何代码 现在 我编辑 styles xml 使其看起来像这样
  • 应用程序未配置为通过 Google Play 计费

    我正在开发一个 android 项目 我正在尝试实现 In App Billing V3 我已将我的应用程序上传到 Google Play 并向该应用程序添加 IAP 我可以成功检索我的应用程序的 IAP 列表及其价格 但当我实际尝试购买时
  • 调整窗口大小时会扩展的字体大小

    如何在 HTML 中制作字体 以便当我扩展窗口时 文本的大小也会扩展 有点像为文本设置一个百分比 该文本将占其所在框的大小的百分比 这是我希望发生的情况的说明 box text font size 50 现在让我们说 box是 200 像素
  • 如何将共享库与 --as-needed 和 automake 链接起来?

    如何链接共享库 as needed使用Automake 当我尝试将标志添加到LDFLAGS I saw libtool如此称呼 bin bash libtool mode link Wl as needed dependencies 这会导
  • EWS 托管 API - 如何将项目从一个邮箱复制到另一个邮箱

    我正在编写一个应用程序 C 来将联系人 约会 任务等从一个邮箱同步到另一个邮箱 我能够使用 SyncFolderItems 检索对这些项目的更改 但找不到将更改复制到其他邮箱的方法 看起来我必须为目标邮箱上的每种类型创建一个新项目 如果是这
  • Spring框架使用了哪些设计模式? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Spring框架使用了哪些设计模式 使用了大量不同的设计模式 但有一些明显的 代理 大量使用AOP http static sprin