Spring简介

  1. Spring的特点

    Spring (春天,绿色)  容器
    01.Java EE开发者的春天,大大简化了代码量
    02.使用IOC来降低主业务之间的耦合度
    03.使用AOP来降低主业务和系统级业务之间的耦合度
    04.非侵入式框架
       001.如果我们要实现某些功能,但是必须实现或者继承某个接口或类!
           这种方式就是 侵入式!
       002.如果我们要实现某些功能,不需要显式的实现或者继承某个接口或类!
           我们感觉不到在使用框架的某个功能!框架自身会自动映射!
    05.一站式开发框架
        001.先去A饭店吃饭
        002.再去B娱乐中心唱歌
        003.再去C会所按摩

    现在直接去D商务会所 ==》完成 吃饭 唱歌 按摩 三个功能!

Struts2               Spring  mvc

Spring                Spring

Hibernate           Spring JDBC

  2. Spring的核心

    1.IOC

      1.IOC (Inversion  Of  Control,控制反转)
          在service层创建出来了dao层的实例对象! 控制权在service! 安全吗?耦合不?不好!!!
          现在创建dao层对象的任务 交给Spring容器管理!控制权在Spring容器!
          控制权由我们程序本身交给spring容器的这个行为====》控制反转!

    Spring容器是咩???
         01.负责创建项目中所有的对象(bean)
         02.管理对象之间的各种关系
         03.spring的核心配置文件

     DI(Dependency  Injection,依赖注入)
        service层的new  StudentDaoImpl()被删除,dao的对象是Spring容器来创建的!
        Spring容器把创建的dao层对象 通过setDao()注入到对象中!这个过程就是依赖注入!
      DI是IOC的一种具体实现!

  2.AOP

    2.AOP(Aspect Oriented Programing,面向切面编程)  底层是动态代理设计模式
       01.切面 (Aspect):系统级业务,对主业务进行增强的方法!
       02.切入点 (PointCut): 把系统级业务织入到主业务上,主业务方法就叫切入点
       03.连接点 (JoinPoint):所有的主业务方法
       04.织入 (Weaving):把系统级业务放到主业务上的过程
       05.目标对象 (Target):  调用主业务的对象
           StudentDao dao=new StudentDaoImpl();
           dao就是目标对象
           dao.eat();
       06.通知 (Advice):是切面的一种实现,定义了织入的时间!
       07.顾问 (Advisor):是切面的一种实现,定义了织入的时间,位置!
                         通知是顾问一个属性! 顾问包含通知!

3.Spring体系图

    

    欲知后事如何,请看下集

Spring(一)--Spring简介的更多相关文章

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

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

  2. Spring Web Flow 简介

    Spring Web Flow 简介 博客分类: 转载 SSH 最近在TSS上看到了一片介绍Spring Web Flow的文章,顺便就翻译了下来,SWF的正式版估计要到6月份才能看到了,目前的例子都 ...

  3. Spring 系列: Spring 框架简介(转载)

    Spring 系列: Spring 框架简介 http://www.ibm.com/developerworks/cn/java/wa-spring1/ Spring AOP 和 IOC 容器入门 在 ...

  4. Spring中AOP简介与切面编程的使用

    Spring中AOP简介与使用 什么是AOP? Aspect Oriented Programming(AOP),多译作 "面向切面编程",也就是说,对一段程序,从侧面插入,进行操 ...

  5. Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用

    Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...

  6. spring 拦截器简介

    spring 拦截器简介 常见应用场景 1.日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV(Page View)等.2.权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直 ...

  7. Spring HTTP invoker简介

    Spring HTTP invoker简介 Spring HTTP invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制 ...

  8. Spring Boot 之Spring data JPA简介

    文章目录 添加依赖 添加entity bean 创建 Dao Spring Data Configuration 测试 Spring Boot 之Spring data JPA简介 JPA的全称是Ja ...

  9. spring cloud要点简介及常用组件

    spring cloud基于spring boot spring cloud是通过包装其他技术框架实现的,例如OSS组件,实现了一套通过基于注解.java配置和基于模板开发的微服务框架. spring ...

  10. Spring Framework体系结构简介

    说明:以下转自Spring官方文档,用的版本为4.3.11版本. 一.引用官方文档 2.2.1核心集装箱 所述核心容器由以下部分组成spring-core, spring-beans,spring-c ...

随机推荐

  1. Here is a test page for my new blog in cnblogs

    Tell me if I can use Fomula like LaTeX $$\sum\limits_{i = 1}^{n}a_i$$

  2. ES使用中的总结整理

    最近项目中使用了ES搜索,开始时自己搭建了ES环境做测试,后面申请了公司的云平台应用, 对接ES的过程中颇具波折,遇到了很多问题,在这里统一整理记录下: 1,ES的9200 及 9300端口说明 92 ...

  3. three months timestamp

    1.有效期三个月 package com.hengqin.life.idps; import java.text.SimpleDateFormat; import java.util.Calendar ...

  4. Linux系统下使用 mail 发送邮件

    邮件常常是Linux下监控报警手段之一.Linux下的mail命令可以方便,快速的完成发送邮件.下面以CentOS为例 1.安装: [app@127-0-0-1 ~]# mail -bash: mai ...

  5. BZOJ 4154: [Ipsc2015]Generating Synergy KDtree+dfs序

    多组数据真tm恶心~ 把 $dfs$序和深度分别看作横纵坐标,然后用 $KDtree$ 数点就可以了~ #include <cstdio> #include <cstring> ...

  6. BZOJ 4668: 冷战 并查集启发式合并/LCT

    挺好想的,最简单的方法是并查集启发式合并,加暴力跳父亲. 然而,这个代码量比较小,比较好写,所以我写了 LCT,更具挑战性. #include <cstdio> #include < ...

  7. poj 3623(贪心)

    Best Cow Line, Gold Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 6038   Accepted: 20 ...

  8. linux监控系统性能命令

    Linux系统性能10条命令监控 https://www.cnblogs.com/qmfsun/p/5729442.html 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. ...

  9. 【Spark机器学习速成宝典】模型篇05决策树【Decision Tree】(Python版)

    目录 决策树原理 决策树代码(Spark Python) 决策树原理 详见博文:http://www.cnblogs.com/itmorn/p/7918797.html 返回目录 决策树代码(Spar ...

  10. OpenCV学习笔记(9)——形态学转换

    不同的形态学操作,例如腐蚀,膨胀,开运算,闭运算等 形态学操作是根据图像形状进行的简单操作.一般情况下对二值化图像进行操作.需要的参数有两个,一个是原始图像,第二个被称为结构化元素或核,它是用来决定操 ...