1、SSH各个的职责
Struts2:是web框架(管理jsp、action、actionform等)。
Hibernate:是ORM框架,处于持久层。
Spring:是一个容器框架,用于配置bean,并维护bean直接的关系。
Bean:java中任何一种对象,如 javabean、数据源、dao、service、action等
比如:User、数据表user、UserDao、UserService、UserAction
2、Spring的原理
2.1、工作原理
1、通过Spring容器IOC(inverse of control)动态注入,把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护。即程序之间不用再new对象了,且方法之间也不用相互调用了,都是同过spring的容器(applicationContext.xml)来维护他们之间的关系(创建对象/调用方法等等)。
2、通过Spring容器AOP(Aspect-Oriented Programming),可以为某一类对象进行监督和控制(也就是在调用这类对象的具体方法的前后去调用你指定的模块/方法)从而达到对一个模块扩充的功能。
2.2、相关概念
IoC是什么?
答:IOC(inverse of control) 控制反转:所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护。
DI是什么?
答:DI(dependency injection)依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术。其实 IoC 等于 DI 。
AOP是什么? 答:AOP(Aspect-Oriented Programming)面向切面编程,就是在调用某个类对象的具体方法前/后,先去调用你指定的模块/方法,最后,程序再按原来的顺序执行其他方法。
2.3、Spring的几大模块
1) Spring Corespring的核心功能: IOC容器,解决对象创建及依赖关系
2) Spring WebSpring对web模块的支持。
--> 可以与struts整合,让struts的action创建交给spring
--> spring mvc模式
3) Spring DAO Spring 对jdbc操作的支持 【JdbcTemplate模板工具类】
4) Spring ORM spring对orm的支持:
--> 既可以与hibernate整合,【session】
--> 也可以使用spring的对hibernate操作的封装
5)Spring AOP 切面编程
6)SpringEEspring 对javaEE其他模块的支持
3、基础配置(实例解析)
待续