美文网首页
不完全spring学习-1

不完全spring学习-1

作者: 闲杂人等 | 来源:发表于2020-03-18 19:25 被阅读0次

不完全的意味着:

  1. 内容不完全正确,因为初接触时无法保证理解准确,随之学习的深入,自然更正某些概念
  2. 不一定会学完,一旦学到我自认为可以,就停止了,不会追求完整

Let's Go!

  1. 什么是spring ?
    spring是IoC框架
  2. 什么是IoC?
    Inversion of Control:控制的反转,字面理解反转了控制
  3. 控制是什么意思?
    控制的对象是面向对象中object,控制是谓语,object是宾语
  4. 谁在控制
    谁用对象谁控制,如 Java中有一个ArrayList类,如果你想用它你需要:
List<String> aList = new ArrayList<>()
aList.add("hhhhh");

new 就是一种控制,你在控制它的创建,所以控制的主语是“你”,是需要用到ArrayList的人

  1. 控制的反转是怎么反转的?
    不反转:程序员 控制 对象,反转可不是:对象 控制 程序员;而是:
    一段程序(一个盒子) 控制 对象 ;从这个意义看反转控制这个词不好,应该叫控制移交
  2. 那“反转”后代码会有什么变化?
    代码可以写成:
List<String> aList ;
aList.add("hhhhh")
  1. 不报空指针异常吗?
    如果想不报,要有个黑盒子替你干了 new ArrayList<>()这个活
  2. 没错,spring可以干这个事,但需要你的配合?
  3. 配合什么?
    嗯,有点复杂,我么还有些问题需要解决,这个问题一会谈,换一个话题吧
  4. 好吧,那为什么要反转呢?
    这个还要问吗?看来基础不强,你试着理解以下的话吧,其实不难:
  //没反转控制
  List<String> aList = new ArrayList<>();
//反转后
   List<String> aList 
反转后是不需要为aList初始化一个具体类型,如果上述的逻辑是一段业务代码,而aList有多个实现,那这段代码不会因为具体的类型(ArrayList)需要修改
  1. 面向接口或抽象编程,懂了。
    其实可以进一步想象成,你根据实际的问题,建模了一个数学公式,比如:Z = f(x,y) ,如果f的逻辑不变,你只需要喂给这个公式符合要求的x,y的具体值,那么就能得到Z。把那些对x,y具体求值的工作可以交给一个“计算器”干。这里,作为程序员的你告诉计算机一个运算逻辑,运算逻辑由操作符和操作数组合而成,你给一个单子,把操作数和具体的值对应起来,如果计算机有一段程序(暂时叫盒子)是从你的单子中取出具体的值,喂给你的程序,它就能工作了,如果运算逻辑不变,操作数的类型变了或者取值范围变了,你只需要修改那张单子就可以了。所以像new 这种把操作数具体赋值的工作可以交给这个盒子干就行了。你就不必关心了。你的责任由原来的定义运算逻辑,为操作数赋值这两个责任,变为定义运算逻辑,告诉计算机怎么为操作数赋值了。你的责任就成了要开发更具通用性的运算逻辑。
  2. 这和Spring有什么关系?
    Spring就是这个盒子啊!“专业人士”给了一个很nb的名字:容器。之后,应该用“容器”这个词了
  3. 那我需要如何和Spring“合作”?
    有一个最基本的方法,给它一张单子,描述你要用到的对象,以及这个对象到哪能找到,便于它为你创建它;你还要告诉它,这个对象有哪些属性,这些属性如何取值,便与他设置或初始化对象。你可以想象:
    Student aStudent = new Student();这段代码,你写成了:Student aStudent;,然后期望容器替你完成new的动作,你显然需要告诉它去哪找一个符合Student类型的类,实例化成对象:所以你需要告诉spring:<bean name="studeng" class="xxx.xxx.Studeng">......
    14.IoC大概懂了,找些例子学学怎么写给spring的这张单子,暂停,去找点例子,写点代码了。

相关文章

  • 不完全spring学习-1

    不完全的意味着: 内容不完全正确,因为初接触时无法保证理解准确,随之学习的深入,自然更正某些概念 不一定会学完,一...

  • Spring Framework学习(01)总结

    内容概览 Spring 学习讨论 Spring 项目 Spring 学习顺序 总结 1. Spring 学习讨论 ...

  • Spring学习笔记 Spring的概述

    Spring学习笔记1_Spring的概述 1.Spring介绍 2.Spring作用 3.Spring起源 4....

  • Spring学习-1

    一:Spring中配置文件的加载原理: 二:常用的Spring配置文件的加载方式: 有三种分别是: 1:使用我们当...

  • Spring Boot第一天

    1.Spring boot 学习官方地址 https://spring.io/guides 2.创建Spring ...

  • Spring Boot学习列表

    一、Spring Boot基础学习 1. Spring Boot ——Spring Boot 介绍2. Sprin...

  • 2021-07-01_Spring自定义RequestMappi

    20210701_Spring自定义RequestMapping学习笔记 1概述 通过对spring,spring...

  • Spring Boot 入门 (1) - 简介

    0. 背景 开始学习 spring boot 。 1. 简介 Spring Boot 是在 spring 框架之上...

  • 3.2关于spring

    一.学习spring的5个网站 1.spring官网 http://projects.spring.io/spri...

  • 2019年小目标

    1、认真工作。 2、继续学习Spring Cloud、Spring Boot与其他框架的整合、Spring框架知识...

网友评论

      本文标题:不完全spring学习-1

      本文链接:https://www.haomeiwen.com/subject/mimcyhtx.html