这段时间学了三大框架,struts,spring,hibernate,简称SSH。
Struts
框架作为实现
MVC
模式的第一个
WEB
框架
,
利用
ACTION
作为控制器
,
很好的解耦了
MVC
中的
MODEL
层与
VIEW
层,降低了它们之间的耦合性。
ACTION
中,通过
HTTPSESSSION
,
HTTPSERVLETREQUEST
,
HTTPSERVLETRESPONSE
访问
WEB
中的资源。当
ACTION
处理完后,就会向用户返回两种结果信息,分为两部分:结果类型和结果本身。响应的结果类型有:
dispatcher(
默认类型
);redirect,
重定向;
redirectAction,
重定向另一个
Action;chain,
结果类型的基本用途是构成一个
action
链(前一个
action
把控制权转发给后一个
action,
而前一个
action
的状态在后一个
action
中依然保持);
plaintext;stream
。通配符和值栈是其中两个重要的点。在
JSP
页面上可以利用
OGNL
(
Object-Graph Navigation Language:
对象
-
图导舫语言)访问值栈里的对象属性。做为
Struts
的核心,拦截器,它提供了
ModelDriven
和
Preparable
两个拦截器。前者是调用
getModel
()方法,并把返回值压入
ValueStack;
后者则是为了
action
类中的
CRUD
方法准备一些数据。
在
MODEL
层有做为的就是
Hibernate
了,
Hibernate
的
Hql(
面向对的
sql)
对应
JDBC
中的
sql
语句。它是
ORM
(
Object Relation Mapping
对象关系映射)框架的主流框架之一。
Hibernate
核心接口,
Configuration
,负责配置并启动
Hibernate,
创建
SessionFactory
对象。
Hibernte
中数据的三种状态:临时状态,持久状态,脱管状态。其中的两种缓存,
sessionFactory,session
。
Session
的方法中的懒加载
load()
,对性能在某时候有很好的提高。还讲了,表之间的关系:一对一,一对多,以及多对多。还有它们的关系映射文件的本置
(*.hbm.xml)
和主配置文件
(hibernate.cfg.xml)
的配置。
C3P0
连接池工具的应用,消息国际化等。重点还讲了,
hibernate
与
struts
的联合搭建。
春天来了,
spring
是一个用于构造
JAVA
应用程序的轻量级框架。其优点之一就是其分层架构,允许你选择使用哪一个组件,同时为
J2EE
应用程序开发提供集成的框架。它的核心容器的主要组件是
BeanFactory
,是工厂模式的实现。
BeanFactory
使用控制反转
(IOC)
模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
Spring IOC(Inverse Of Control),
控制反转,
Spring
框架的核心其于控制反转原理。控制反转就是在程序外部创建和管理程序之间的依赖关系,而不是由代码直接控制。
IOC
的一种形式,
DI
,依赖注入:两个对象之间的依赖关系在程序运行时由外部容器动态的注入依赖行为方式。有三种注入方式:接口注入(一般不用);
Setter
注入;构造器注入。
AOP
(
Aspect Oriented Programming
)面向切面编程,简单的说就是实现横切的工具,是所有横切性的关注点的抽象。它的通知类型有:前置通知,后置通知,环绕通知,异常通知。
Spring
数据访问框架都结合了模板类,有
JdbcTemplate
类;
NamedParameterJdbcTemplate
类,而
NamedParameterJdbcTemplate
类为
JDBC
操作增加了命名参数的特性支持,而不是传统的使用
’?’
作为参数的占位符;
SimpleJdbcTempate
类,
Java5
及以上版本才可以正常使用,它是对
JdbcTempate
类进行的封装,从而可以充分利用
java5
所带来的
vargargs
和
autoboxing
等特性。还有
Spring
中的事务管理。
之后讲了,
Spring
和
Hibernte
的结合,
Spring
和
Struts
的结,以及
Spring,Struts
和
Hibernate
的结合。补充了
Spring
中的一些应用,
Spring
邮件,任务计划。
这些就是这段时间学的
SSH
的一些概述。