• Spring初步学习基础


    IOC(控制反转):本来是由应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IOC容器,Spring的IOC容器主要使用DI方式实现的。不需要主动查找,对象的查找、创建和定位全部由容器管理。

    1.大量减少了Factory和Singleton的数量,代码层次更加清晰主要原因是我们不在查找、定位、创建、管理对象之间的依赖关系,都交给IOC容器管理了。

    2.Spring的IOC容器是一个轻量级的容器,没有侵入性,不需要依赖容器的API,也不需要实现一些特殊的接口。

    3.一个合理的设计最好尽量避免侵入性。

    4.提供了AOP声明式服务能力,可以针对POJO对象提供声明式服务能力,如:声明式事务

    5.鼓励了我们面向接口编程

    6.减少了代码中的耦合,将耦合推迟到了配置文件中,发生了变化也更容易控制

    Spring注入:

    1.了解常见的属性注入:int ,String, list, set, map的注入

    2.什么是属性编辑器和作用?

      *将spring配置文件中的字符串转换成相应的Java对象

      *spring内置了一些属性编辑器,也可以自定义属性编辑器

    3.如何自定义属性编辑器?

      *继承PropertyEditorSupport

      *覆盖setAsText()方法

      *将自定义的属性编辑器注入到spring中

    4.多配置文件的读取方式

      *数组

      *采用*匹配模式

    5.如何减少spring的配置文件

      *通过bean标签将公共的配置提取出来,然后指定<bean>标签中的abstract属性为true

      *在其他<bean>标签中指定其他parent即可

    6.spring默认在创建BeanFactory时,将配置文件中所有的对象实例化并进行注入,但可以采用相关的属性延迟配置文件初始化,如:default-lazy-init="true"

    Spring bean的作用域

      scope取值:

      *singleton:默认值,每次调用getBean()向IOC容器取得对象是相同的

      *prototype:每次调用getBean()向IOC容器取得对象是不相同的

    根据名词完成自动匹配

    根据类型完成自动匹配

    AOP相关概念:

    Cross Cutting Concern

      -是一种独立服务,它会遍布在系统的处理流程之中

    Aspect

      -对横切性关注点的模块化

    Advice

      -对横切性关注点的具体实现

    Pointcut

      -定义了Advice应用到哪些JoinPoint上,对Spring来说是方法调用

    JoinPoint

      -Advice在应用程序上执行的点或时机,Spring只支持方法的JoinPoint,这个点也可以使属性修改,如:Aspectj可以支持

    Weave

      -将Advice应用到TargetObject上的过程叫织入,Spring支持的是动态织入

    TargetObject

      -Advice被应用的对象

    Proxy

      -SpringAOP默认使用JDK的动态代理,它的代理是运行时创建,也可以使用CGLIB代理

    Introduction

      -可以动态的为类添加方法

      

  • 相关阅读:
    06列表的常用基本操作
    05字符串的常用基本操作
    什么是全量表,增量表,快照表,拉链表,维度表,事实表,实体表
    什么是拉链表
    数仓设计
    pandas学习
    矩阵和数组的区别
    中文文本关键词抽取的三种方法(TF-IDF、TextRank、word2vec)
    python使用结巴分词(jieba)创建自己的词典/词库
    scrapy是广度优先还是深度优先?
  • 原文地址:https://www.cnblogs.com/zyfzyfzyf/p/7635878.html
Copyright © 2020-2023  润新知