Spring框架引入

Struts与Hibernate可以做什么事?

Struts,

Mvc中控制层解决方案

可以进行请求数据自动封装、类型转换、文件上传、效验…

Hibernate,

持久层的解决方案;

可以做到,

把对象保存到数据库,

从数据库中取出的是对象。

Spring框架

基于Struts与Hibernate的mvc模式进行项目开发;

思考:

1. 对象创建创建能否写死?

2. 对象创建细节

对象数量

action  多个   【维护成员变量】

service 一个   【不需要维护公共变量】

dao     一个   【不需要维护公共变量】

创建时间

action    访问时候创建

service   启动时候创建

dao       启动时候创建

3. 对象的依赖关系

action 依赖 service

service依赖 dao

总结:

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


组件/框架设计

侵入式设计

引入了框架,对现有的类的结构有影响;即需要实现或继承某些特定类。

例如:     Struts框架

非侵入式设计

         引入了框架,对现有的类结构没有影响。

      例如:Hibernate框架 / Spring框架

控制反转:

Inversion on Control , 控制反转 IOC

对象的创建交给外部容器完成,这个就叫做控制反转.

依赖注入,  dependency injection

处理对象的依赖关系

区别:

控制反转, 解决对象创建的问题 【对象创建交给别人】

依赖注入,(拓展

在创建完对象后, 对象的关系的处理就是依赖注入 【通过set方法依赖注入】

AOP

         面向切面编程。切面,简单来说来可以理解为一个类,由很多重复代码形成的类。

切面举例:事务、日志、权限;


Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架。

且可以和其他框架一起使用;Spring与Struts,  Spring与hibernate

(起到整合(粘合)作用的一个框架)

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其他模块的支持

上一篇:nginx实现Ipv6地址解析


下一篇:gym-101350M