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. Windows Server 快速生成免费SSL证书 (letsencrypt)

    最近官网需求部署个SSL证书,一番操作后把借鉴的网站与实际过程记录下来 Let's Encrypt,官网是https://letsencrypt.org/,它是一个由各大公司赞助的公益组织: 有趋势有 ...

  2. Eclipse中注释乱码解决办法

    问题描述:将别人的Java工程导入自己的工作空间之后,有时候会出现注释乱码问题. 这是由于IDE对汉字的编码方式不同造成的.比如,原来的开发人员使用的是UTF-8编码方式,而现在开发人员使用的IDE使 ...

  3. codevs 1405 牛的旅行x

    牛的旅行 [问题描述] 农民John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧场不连通.现在,John想在农场里添加一条路径 ...

  4. JavaWeb_通过xml配置文件配置servlet访问路径

    Servlet两种访问路径 一.在Servlet类中通过设置@WebServlet标注访问 二.在web.xml中编写配置文件 第一种能比较直观看到Servlet路径,但当项目发布后不好再对Servl ...

  5. Jmeter -- 添加断言,及断言结果

    步骤: 1. 添加响应断言(添加-断言-响应断言) Add -->  Assertions --> Response Assertion 2. 配置断言 判断响应内容中,是否包含关键字“禅 ...

  6. Jmeter -- 入门,基础操作

    1. 添加线程组 设置线程组参数(线程数.准备时长.循环次数等): a)线程数:虚拟用户数.一个虚拟用户占用一个进程或线程.设置多少虚拟用户数在这里也就是设置多少个线程数. b)Ramp-Up Per ...

  7. Java并发编程的艺术笔记(四)——ThreadLocal的使用

    ThreadLocal,即线程变量,是一个以ThreadLocal对象为键.任意对象为值的存储结构.这个结构被附带在线程上,也就是说一个线程可以根据一个ThreadLocal对象查询到绑定在这个线程上 ...

  8. leetcode-easy-others-118 Pascal's Triangle

    mycode   16.47% class Solution(object): def generate(self, numRows): """ :type numRow ...

  9. yum源相关

    yum软件仓库默认配置文件/etc/yum.conf,此文件定义了yum在线下载的rpm包存放位置及下载后是否保存. [root@localhost ~]# head /etc/yum.conf[ma ...

  10. datagrid数据清空

    方法一: 不管是url方式还是加载本地数据的方式,均可以直接使用loadData方法清空数据,一行代码就可以清空: $('#tt').datagrid('loadData',{total:0,rows ...