首页 > 代码库 > Spring框架引入

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

 

Spring框架引入