design-patterns - Spring框架中使用了哪些设计模式?

标签 design-patterns spring

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

最佳答案

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

  • 代理 - 在 AOP 中大量使用, 和 remoting .

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

  • 模板方法 - 广泛用于处理样板重复代码(例如干净地关闭连接等)。例如 JdbcTemplate , JmsTemplate , JpaTemplate .


更新以下评论:对于 MVC,您可能需要阅读 MVC Reference

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

  • Model View Controller :-) 。 Spring MVC 的优势在于您的 Controller 是 POJO,而不是 servlet。这使得 Controller 的测试更容易。需要注意的一点是, Controller 只需要返回一个逻辑 View 名称, View 选择留给单独的ViewResolver .这样可以更轻松地为不同的 View 技术重用 Controller 。

  • Front Controller . Spring 提供DispatcherServlet以确保将传入的请求分派(dispatch)到您的 Controller 。

  • View Helper - Spring 有许多自定义 JSP 标记和速度宏,以帮助将代码与 View 中的呈现分开。

关于design-patterns - Spring框架中使用了哪些设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/755563/

相关文章:

java - 如何修复 'com.vaadin.DefaultWidgetSet' 不包含 com.vaadin.addon.charts.Chart 的实现

django - 为什么在 Django 中检查两个密码是否匹配如此复杂?

java - JpaRepository - 删除方法 - 通知实体不存在

java - 使用 @PropertySource 访问 @Lazy 初始化的 @Bean 的公共(public)属性

design-patterns - Redis、node.js 和 Javascript 回调范围/流程

java - Spring MVC 4~5版本 View 问题

java - 在 Spring 中的 Preauthorize 表达式中使用 Autowired bean

cocoa - enum 和 NSDictionary 定义 Cocoa 中有效元素的列表

c# - 实例化而不分配给变量

java - 使用隐式向下转换调用方法