struts+spring+hibernate分别用到了什么设计模式(50校招生网)
来源:互联网 发布:mac air 13寸 价格 编辑:程序博客网 时间:2024/05/01 03:28
在 Spring 中大量使用的以下两种设计模式:
工厂模式
工厂模式可将 Java 对象的调用者从被调用者的实现逻辑中分离出来,调用者只需关心被调用者必须满足的规则(接口),而不必关心实例的具体实现过程。这是面向接口编程的优势,能提高程序的解稿,避免所有的类以硬编码方式糯合在一起。
如果所有的类直接偶合,极易形成"骨牌效应",假如B 类调用了 A 类,一旦 A 类需要修改,则 B 类也需要修改:假如 C 类调用了B 类,则 C 类也需要修改......依次类推,从而导致整个系统都需要改写。造成"牵一发而动全身",而系统重构的代价是相当高的。
Spring 倡导"面向接口编程飞可以避免上述的问题,使设计良好的架构可保证系统重构的i作被封闭在重构的层内,绝不会影响其他层,这可以在本书后面的示例中看到。
Spring 容器是实例化和管理全部 bean 的i厂,
单态模式
Spring 默认将所有的 bean 设置成单态模式,无须自己完成单态模式,即对所有相同id 的 bean 请求都将返回同一个共享实例。因此,单态模式可大大降低 Java 对象在创建和销毁时的系统开销。
派遣器模式
Spring有一个统一集中的派遣器org.springframework.web.servlet.DispatcherServlet,
一般在web.xml中把所有的页面 请求都发送到该派遣器:
<servlet>
<servlet-name>countries</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>countries </servlet-name>
<url-pattern>*.htm </url-pattern>
</servlet-mapping>
控制器 模式
派遣器收到请求后,把不同的页面派遣到不同的控制器进行处理:
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<propkey="/home.htm">countriesController </prop>
<prop key="/notfound.htm">errorsController </prop>
</props>
</property>
</bean>
Spring有两种MAPPING的机制,默认为BeanNameUrlHandlerMapping,我们这里采用的是
SimpleUrlHandlerMapping.
拦截器模式
在控制器处理前,我们可以将其拦截,进行一些特殊或通用处理;拦截器可以选用Spring已经实现的或我们自己实现的:
<bean id="urlMapping"class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="interceptors">
<list>
<reflocal="localeChangeInterceptor"/>
<reflocal="themeChangeInterceptor"/>
<reflocal="copyInterceptor"/>
</list>
</property>
</bean>
50校招生网 http://www.50xiao.com
其实我们在平常的开发中,也经常用到上面的设计模式 ;只是Spring的实现比较优美,所以Spring 能很快流行.
- struts+spring+hibernate分别用到了什么设计模式(50校招生网)
- struts+spring+hibernate分别用到了什么设计模式
- Struts,Spring,Hibernate分别什么作用?
- hibernate 使用的设计模式(一) 观察者(50校招生网)
- Struts、spring、hibernate、EJB、ant分别是什么?
- Spring 框架中都用到了哪些设计模式?
- spring用到的设计模式
- Spring 用到的设计模式
- spring用到的设计模式
- Spring中的用到的设计模式大全
- spring 用到的九种设计模式
- Spring 框架中都用到的设计模式
- Struts和spring分别是什么?
- SSH中 struts hibernate spring 各起什么作用
- SSH中 struts hibernate spring 各起什么作用
- SSH中 struts hibernate spring 各起什么作用
- SSH中 struts hibernate spring 各起什么作用
- SSH中 struts hibernate spring 各起什么作用?
- tomcat迁移weblogic路径问题
- 关于android抽屉,navigation drawer
- 关于使用jackson.jar解析JSON时,大写JSON key值发生报错的问题
- php扩展安装
- BigDecimal类型(+ - * /)所用的属性
- struts+spring+hibernate分别用到了什么设计模式(50校招生网)
- php中系统变量
- CentOS 6.3下Samba服务器的安装与配置
- 枚举
- 数据结构——线性表
- Linux 中出现的-bash: syntax error near unexpected token `('错误-------终端中无法识别“()”问题解决
- DB2缺省的事务及并发锁机制
- onItemClick方法中的四个参数
- MIPI RFFE