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

  • 相关阅读:
    Linq to OBJECT延时标准查询操作符
    LINQ to XML
    动态Linq(结合反射)
    HDU 1242 dFS 找目标最短路
    HDu1241 DFS搜索
    hdu 1224 最长路
    BOJ 2773 第K个与m互质的数
    ZOJ 2562 反素数
    2016 ccpc 杭州赛区的总结
    bfs UESTC 381 Knight and Rook
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/6532896.html
Copyright © 2011-2022 走看看