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. CF293E Close Vertices 点分治+树状数组

    开始zz写了一个主席树,后来发现写个树状数组就行~ #include <cstdio> #include <vector> #include <algorithm> ...

  2. 深度学习笔记(十二)车道线检测 LaneNet

    论文:Towards End-to-End Lane Detection: an Instance Segmentation Approach 代码:https://github.com/MaybeS ...

  3. TCP序列号和确认号

    TCP序列号和确认号详解 在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序.但我在查阅了当前很多资料后发 ...

  4. 上传本地文件到linux

    Linux 命令行上传文件 Linux服务器,硬盘坏了,更换硬盘后,重装了好像是Foreda v22的操作系统,我在/var/www/html/目录下新建了我的个人文件夹 kma,然后我在此kma文件 ...

  5. C++入门经典-例2.13-左移运算

    1:代码如下: // 2.13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...

  6. LeetCode 46. 全排列(Permutations)

    题目描述 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [ ...

  7. js函数收集

    常见js函数收集: 转自:http://www.qdfuns.com/notes/36030/2eb2d45cccd4e62020b0a6f0586390af.html //运动框架 function ...

  8. SHELL中执行Oracle SQL语句查询性能视图

    数据库日志是否报错信息 vi check_log.sh #!/bin/bash # Created : 2019.10.10 # Updated : # Author : # Description ...

  9. Mysql查询语句中字符型字段不区分大小写解决方法

    项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf ...

  10. JavaScript 积累

    1. 基本类型值在内存中占据固定大小的空间,因此被保存在栈空间中: 2. 引用类型的值是对象,保存在堆空间中: 3. 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本:从一个变量向另一个 ...