首页 > 代码库 > Spring框架总结(一)

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

Spring框架总结(一)