Spring IOC

接口及面向接口编程

  • 接口

    • 定义及理解:接口是一个类的抽象声明,用于由内部操作分离出外部沟通的方式,使其内部进行修改而不影响其外部连接沟通的一种交互方式。不对外公开逻辑处理,只是返回结果就可以。接口相当于制定的沟通连接的规范,只要能得到这个接口就可以获取相应实现类的处理结果。有了接口,若是以后业务逻辑有变化时,即使修改内部逻辑也不会影响获取这个这个结果的方法,也就是不需要修改很多方法,只需要处理实现类的内部逻辑即可。
    • 在Java8中,允许了接口类中存在方法体。接口是多实现的。
  • 面向接口编程
    • 结构设计中,每层只向上提供一组功能接口,各层次之间依赖接口而非实现类(不太理解)
    • 接口实现的变动不会影响各层级之间的变动,这点在公共服务中尤为重要。

IOC定义

  • IOC:

    • 控制反转:控制权的转移。依赖程序本身不负责对象的创建和维护,而是由外部容器负责对象创建和维护。

  • DI
    • 依赖注入:获得依赖对象的过程被反转。控制被反转之后,对象的管理由自身管理转移到由提供IOC的容器进行管理。
    • DI依赖注入是IOC的实现方式。

Spring的Bean配置

Bean的初始化

Spring的常用注入方式

Spring 学习——Spring IOC概念的更多相关文章

  1. Spring学习之Ioc控制反转(1)

    开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...

  2. Spring学习之Ioc控制反转(2)

    开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...

  3. 【转】Spring学习---Spring IoC容器的核心原理

    [原文] Spring的两个核心概念:IoC和AOP的雏形,Spring的历史变迁和如今的生态帝国. IoC和DI的基本概念 IoC(控制反转,英文含义:Inverse of Control)是Spr ...

  4. Spring 学习笔记 IoC 基础

    Spring IoC Ioc 是什么 IoC -- Inversion of Control(控制反转)什么是控制?什么是反转? 控制反转了什么? 在很早之前写项目不用 Spring 的时候,都是在 ...

  5. Spring学习笔记IOC与AOP实例

    Spring框架核心由两部分组成: 第一部分是反向控制(IOC),也叫依赖注入(DI); 控制反转(依赖注入)的主要内容是指:只描述程序中对象的被创建方式但不显示的创建对象.在以XML语言描述的配置文 ...

  6. Spring 学习——Spring框架结构、概念

    maven项目结构 记忆:在一个项目中,project下一层级时src,也就是源文件,所有需要进行编译的文件都是在这个目录下,其实也就是这一个目录,然后向下扩展.在src目录下,存在main文件夹,里 ...

  7. [原创]java WEB学习笔记96:Spring学习---Spring简介及HelloWord

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. 【转】Spring学习---Spring 学习总结

    什么是Spring ? Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson在其著作Expert One-On-One J2EEDev ...

  9. [原创]java WEB学习笔记109:Spring学习---spring中事物管理

    博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好 ...

随机推荐

  1. supervison

    http://blog.csdn.net/kongxx/article/details/50452357

  2. html5-内联框架

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. hdu5422 最大表示法+KMP

    #include <iostream> #include <algorithm> #include <string.h> #include <cstdio&g ...

  4. hdu 5126 cdq+Treap+BIT

    这题说的是给了三维空间然后操作 寻求在 x1,y1,z1    x2, y2, z2; (x1<x2, y1<y2,z1<z2) 计算出在 以这两个端点为右下和左上端点的方体内的点的 ...

  5. 排序(I)

    NSSortDescriptor 排序 Person类 #import <Foundation/Foundation.h> @interface Person : NSObject @pr ...

  6. ASP.Net 获取Form表单值

    新建一HtmlPage1.html,如下post发送() <body> <form enctype="multipart/form-data" action=&q ...

  7. Java8的CompletionService使用与原理

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. https://www.cnblogs.com/shijiaqi1066/p/1045423 ...

  8. 这份书单,给那些想学Hadoop大数据、人工智能的人

    一.简单科普类 (文末附下载链接) 1.<人工智能:李开复谈AI如何重塑个人.商业与社会的未来图谱2> 作者:李开复,王咏刚 推荐理由:文章写得一般,但李开复和王永刚老师总结的还可以,算国 ...

  9. JDK8的新特性

  10. C# 制作软件启动界面

    制作一个软件的启动界面 1.新建一个工程,将默认生成界面作为启动界面. 2.添加一个Label和ProgressBar还有Timer控件 注意:在ProgressBar控件中需要设置它的style  ...