SSH框架之Spring的引入、专业术语、概述

来源:互联网 发布:阿里云发票 编辑:程序博客网 时间:2024/06/06 12:41

一、回顾及引入Spring框架
1、Struts与Hibernate框架可以做什么事?
Struts,Mvc中控制层解决方案。可以进行请求数据自动封装、类型转换、文件上传、效验…
Hibernate, 持久层的解决方案;可以做到,把对象保存到数据库, 从数据库中取出的是对象。

2、传统的开发模式
基于mvc模式进行项目开发;
基于mvc的项目框架结构:Entity / dao / service / action

// 1. 实体类class User{}//2. daoclass  UserDao{   .. 访问db}//3. serviceclass  UserService{    UserDao userDao = new UserDao();}//4. actionclass  UserAction{    UserService userService = new UserService();    ..    拿到数据或结果}

用户访问:
/user.action —-> Tomcat (服务器创建Action、Service、dao

3、思考:对象创建创建能否写死?对象创建细节?
1)对象数量

    action  多个   【维护成员变量】    service 一个   【不需要维护公共变量】    dao     一个   【不需要维护公共变量】

2)创建时间

    action    访问时候创建    service   启动时候创建    dao       启动时候创建

3)对象的依赖关系

    action  依赖 service    service 依赖 dao

总结:
spring就是解决上面的问题的!
简单来说,就是处理对象的创建的、以及对象的依赖关系!

二、专业术语
1、组件/框架设计
1)侵入式设计:引入了框架,对现有的类的结构有影响;即需要实现或继承某些特定类。例如: Struts框架
2)非侵入式设计:引入了框架,对现有的类结构没有影响。例如:Hibernate框架 / Spring框架

2、控制反转(Inversion on Control , 控制反转 IOC):对象的创建交给外部容器完成,这个就做控制反转。

3、依赖注入(dependency injection): 处理对象的依赖关系

控制反转与依赖注入的区别:
控制反转, 解决对象创建的问题 【对象创建交给别人】。
依赖注入,在创建完对象后, 对象的关系的处理就是依赖注入 【通过set方法依赖注入】。

4、AOP(面向切面编程)切面,简单来说来可以理解为一个类,由很多重复代码形成的类。切面举例:事务、日志、权限。

三、概述:
1、Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架。且可以和其他框架一起使用;Spring与Struts, Spring与hibernate
(起到整合(粘合)作用的一个框架)

2、Spring提供了一站式解决方案:
1)Spring Core:spring的核心功能。IOC容器, 解决对象创建及依赖关系。
2)Spring Web:Spring对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)SpringEE:spring 对javaEE其他模块的支持

0 0
原创粉丝点击