名词解释:

框架就是组件的集合。
比如: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

      public class UserDAO {

        public void saveUser() {
System.out.println("保存成功**********************");
} }

service

        public class UserService {
private UserDAO dao = new UserDAO ; public void save() {
dao.saveUser();
} }

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框架总结(一)的更多相关文章

  1. Spring框架概述

    Spring是最流行的Java企业级应用开发框架,全球数以百万的开发者在使用Spring框架创建高性能.易测试.可重用的代码. Spring框架的核心特性可以应用于任何Java应用,但扩展的JavaE ...

  2. 初识Spring框架实现IOC和DI(依赖注入)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...

  3. Spring 框架的架包分析、功能作用、优点,及jar架包简介

    Spring 框架的架包详解    Spring的作用     Spring的优势  由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或 ...

  4. 最新 Eclipse IDE下的Spring框架配置及简单实例

    前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...

  5. spring框架学习(三)

    一.Spring自动组件扫描 Spring 提供组件扫描(component scanning)功能.它能从指定的classpath里自动扫描.侦测和实例化具有特定注解的组件. 基本的注解是@Comp ...

  6. Spring框架学习(一)

    一. spring概述 Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式,如图 1 所示. 图 1 ...

  7. Spring 系列: Spring 框架简介 -7个部分

    Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...

  8. 使用 Spring Boot 快速构建 Spring 框架应用--转

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...

  9. 【Spring】浅析Spring框架的搭建

    c目录结构: // contents structure [-] Spring是什么 搭建Spring框架 简单Demo 1,建立User类 2,建立Test类 3,建立ApplicationCont ...

  10. Spring框架总结

    Spring(由Rod Johnson创建的一个开源框架) Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spr ...

随机推荐

  1. HTML5 本地存储 [转]

    1.sessionStorage 2.localStorage 3.Database Storage 4.globalStorage 5.兼容性 参考文献 本地持久化存储一直是本地客户端程序优于 we ...

  2. Tkinter Cursors

      Tkinter Cursors:   Python的Tkinter的支持很多不同的鼠标光标的数字.确切的图形可能会有所不同,根据您的操作系统. 这里是大量有趣的的名单: "arrow&q ...

  3. Mysql进行复杂查询

    1.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: (1)获取所有选了 生物 课程的学生的成绩(学号,成绩) --临时表     (2)获取所有选了 物理 课程的学生的成绩(学号,成绩 ...

  4. short i=1;short i=i+1对或错,错的理由;short i+=1对或错,错的理由

    short i=1; i=i+1 i+=1 这是一个类型高级与低级的问题,前面的C是short型的,后面的1为int型的,short型与int型的相加得到short型是不可取,因为必须将int型转换为 ...

  5. PHP - 用户异常断开连接,脚本强制继续执行,异常退出回调

    试想如下情况.如果你的用户正在执行一个需要非常长的执行时间的操作.他点了执行了之后,浏览器就开始蛋疼地转.如果执行5分钟,你猜他会干啥,显然会觉得什么狗屎垃圾站,这么久都不响应,然后就给关了.当然这个 ...

  6. TreeView绑定

    )             {                 return;             }             foreach (NodeInfo info in list)    ...

  7. 微信公众号token 验证

    1. 首先给出测试项目的整体目录: 2. CoreServlet类: 当get请求的时候会执行get方法,post请求的时候会执行post方法,分别来处理不同的请求 package com.zjn.s ...

  8. 数组和集合(三):Set集合的使用总结

    一.概述 · 继承collection接口 · 无序(不记录添加顺序).不允许元素重复.只允许存在一个null元素 二.实现类 1. HashSet · 底层其实是包装了一个HashMap实现的 · ...

  9. DDA算法

    [DDA算法] Digital Differential Analyzer,DDA算法是一种线段扫描转换算法.(线段光栅化算法) DDA算法优缺点: 1.消除了直线方程中的乘法计算,而在x.y方向使用 ...

  10. C#给图片加文字水印

    public class TxtWaterMark { public enum WaterPositionMode { LeftTop,//左上 LeftBottom,//左下 RightTop,// ...