zoukankan      html  css  js  c++  java
  • Spring框架总结(一)

    名词解释:

    框架就是组件的集合。
    比如:Struts、Spring、Hibernate就是组件的集合

    组件就是常用的功能包封装成工具类.

    常用组件:
    Dom4j/Xpath、DBUtils、C3p0、BeanUtils、log4j

    框架就是组件的集合。
    比如:Struts、Spring、Hibernate就是组件的集合

    泛型:进行类型检查,较少类型转化,自己定义一个可以为任意类型的类,jdk1.5之后产生

    快捷键使用
    Ctril + Shift + R 查看当前项目中的类
    Ctril + Shift + F 查看源码中的类

    在spring之前的web开发方式是MVC模式

    就是jsp+servlet+javabean

    这样会产生一个问题,如果需求特别多的话,就需要,多次复写servlet,这样会造成代码的冗余,同时,也对开发人员造成了工作量增加的情况

    根据此模型的写法就是

    dao

    1      public class UserDAO {
    2 
    3        public void saveUser() {
    4           System.out.println("保存成功**********************");
    5 }
    6 
    7 }

    service

    1        public class UserService {
    2         private UserDAO dao = new UserDAO ;
    3 
    4         public void save() {
    5             dao.saveUser();
    6           }
    7 
    8 }

    action

    public class UserAction {
    
        private UserService us = new  UserService ;
    
        public String execute() {
            us.save();
            return null;
        }
    
    }

    这样每次都需要new很多的dao和service,我们已知每次new 对象,就会耗费内存,从而使项目整体的速度变得迟缓.

    同时,类和类之间的依赖性增强了很多,service必须有dao,action必须有service

    上边的话术语就是:

    (1)对象数量action个必须多个,service和DAO一个,创建时间变动
    (2)对象的依赖关系紧密
    action依赖service
    service依赖dao

    而spring就是解决了上述两个问题

    Spring 功能

    名词解释:
    组件/框架设计
    侵入式设计
    使用了框架,对本地有的类有影响,对本身有的类实现或继承操作了
    例如:struts框架,必须继承ActionSupport才能实现功能

    非侵入式设计(优于侵入式)
    使用了框架,对本身的类结构无影响.
    例如:Hibernate框架,只是映射,不影响其他
    Spring框架,Spring提倡最少的侵入

    控制反转:用setter方法代替原来的new一个到对象

    事例说明:

    控制反转:
    原来action内要new一个service
    public class action{
    DAOservice s = new DAOserviceImp();
    }

    控制反转时,调用外部的service
    public class action extends ActionSupport{
    private DAOservice s ;

    private DAOservice setDAOservice(DAOservice daos){
    this.s=daos;
    }
    }

    控制反转的作用:对象的创建交给外部容器处理  容器是useraction userservice

     依赖注入:处理对象的关联关系

    事例:

    public class action extends ActionSupport{
    private DAOservice s ;

    private DAOservice setDAOservice(DAOservice daos){
    this.s=daos;
    }

    }

    控制反转:处理对象创建的问题,依赖注入,处理对象关系的问题
    现有控制反转,才有依赖注入
    依赖注入实现(加个set方法,this一下):
    通过set方法依赖注入


    AOp面向切面编程
    由很多重复代码形成的类
    举例:事物/日志/权限


    Spring主要功能和开发步骤
    可以解决对象创建和依赖关系的一种框架
    且可以和其他框架一起使用.
    整合(粘合)作用的一个框架
    Spring与Struts Spring和hibernate

    Spring提供了一站式解决方案

    (1)SpringCore spring的核心功能(其他功能需要依赖它):IOC容器:解决对象创建及依赖关系

    注意:控制反转属于IOC

    (2)SpringWeb spring对web模块的支持
    a、可以与Struts整合,让struts的action创建交给spring
    b、springMVC模式,可以省略Struts,用SpringMVC代替Struts

    (3)SpringDAO Spring对jdbc操作的支持 [jdbcTemplate模板工具类]
    (4)SpringORM Spring对orm的支持
    a、既可以与hibernate整合,[session]
    b、也可以使用spring的对hibernate操作的封装
    (5)SpringAOP 切面编程
    (6)SpringEE spring对javaee其他模块的支持

  • 相关阅读:
    远程支付技术方案
    软件架构设计(第2版)——程序员向架构师转型必备
    概念架构是什么
    项目报警机制
    编写有效用例
    移动支付的基本要素
    相机的日常维护和保养注意事项
    吴炜摄影教程随堂笔记1
    D80使用心得3
    项目沟通管理识别干系人
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/6532896.html
Copyright © 2011-2022 走看看