Spring学习篇01-Spring容器相关基本概念
1.基本概念:
1.1.Spring容器
Spring容器它负责创建Bean,提供Bean,注入Bean的功能。
1.1.1 ApplicationContext 容器的上下文也就是容器工厂接口。
实现其接口的类有
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
WebApplicationContext:Web专用
1.1.2 BeanFactory:容器工厂面向Spring,很少使用
1.2.IOC
Inversion of Control 控制依赖反转.在使用传统的容器时,客户端要从容器中获取对象,必须想容器申请对象,然后又容器提供对象。在Spring容器中,客户端要使用的对象是由Spring容器自己来注入,不需要客户端想容器发送请求。
1.3.DI
依赖注入;依赖于Spring容器向客户端注入对象。
2.IOC有什么好处?
减少类之间的耦合度。下面说说三种不同的属性注入方式的耦合度
2.1 接口分离
在接口分离的情况下,Person类依赖于Car接口和具体型号的车,并且要负责创建具体型号的车。
2.2 工厂模式
为了减少Person类与具体汽车之间的耦合,那么就用了工厂模式,有工厂模式来负责提供接口Car的实现对象。
2.3 依赖注入
Spring容器依赖于Person类和Car接口以及Car的子接口,从而Person只依赖于Car接口就行了。
转载于:https://www.cnblogs.com/kejian/p/4840091.html
Spring学习篇01-Spring容器相关基本概念相关推荐
- JavaEE——Spring学习笔记01【Ioc开发的模式】
JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...
- axure交互页面设计【学习篇01】
axure学习记录一.2020.0305 未来会在这个专题下不定期更一些关于axure学习日常,小白入手,希望大家能够一起学习进步吧~ 今天这期教程是跟着b站 up主av40374556 学习的,附上 ...
- 【Spring学习】01
Spring学习01 Spring概述 简介 优点 组成 Spring快速入门 Spring程序开发步骤 Spring概述 简介 ·Spring框架是由于软件开发的复杂性而创建的.Spring使用的是 ...
- Spring学习笔记 之 Spring<全>
开始学习Spring全家桶 文章目录 1. IoC 定义 为什么叫控制反转? 实现 IoC 容器创建 bean 的两种⽅式 IoC DI 特殊字符的处理 Spring 中的bean创建类型 -- sc ...
- [spring学习] 1、spring下载与使用
目录 spring介绍 spring核心部分 spring的下载 idea使用spring 总结 spring介绍 Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Jo ...
- spring学习笔记(spring概述和IOC)
spring5 1.spring的概述 1.1.spring是什么 Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的. Spring 的 ...
- Spring 学习之 二----Spring创建对象的三种方式
最近在系统的学习Spring,现在就Spring的一些知识进行总结. 我们知道Spring是一个开放源代码的设计层面的框架,他主要解决的是业务逻辑层与其他各层之间松耦合的问题. Spring 有三个核 ...
- Spring学习9-MyEclipse中Spring工程使用@Resource注释的问题
在MyEclipse 的Spring工程中,有时候要使用@Resource注释来驱动Spring配置.但是在MyEclipse添加Spring开发能力的操作中,并没有 把相关的库添加到工程的class ...
- Spring学习笔记之Spring Web Flow
Spring Web Flow 是Spring MVC 的扩展,它支持开发基于流程的应用程序.它将流程的定义与实现流程行为的类和视图分离开来. 1.配置Web Flow 在Spring MVC上下文定 ...
- Spring学习篇底层核心原理解析
说明 本系列文章以spring-framework-5.3.10为例 ,本篇文章的目的就是使各位读者能在使用Spring的基础上对Spring的一些比较核心的内容有一个大概的认识,并不是特别全面,会在 ...
最新文章
- Xen的network-bridge模式
- 数据库--循环语句:loop exit when/ end loop
- EasyDarwin开源音频解码项目EasyAudioDecoder:EasyPlayer Android音频解码库(第二部分,封装解码器接口)...
- 007_Maven依赖管理
- [jQuery] event.stopPropagation()报错
- jitter 如何优化网络_如何做好关键词优化网络?
- TImage、TPaintBox、TPicture、TBitmap、TCanvas、TGraphic 的关系与区别
- hnu暑期实训之日历问题
- 设计模式笔记(21)---备忘录模式(行为型)
- python 两点曲线_ECC椭圆曲线加密算法:ECDH 和 ECDSA
- RS232串口的直连串口线和交叉串口线的区别
- 游戏制作人谈10大开发经验
- 获取flickr网站上某个用户的所有图片url
- 30天自制操作系统Day2
- doodoo.js配置教程
- 【腾讯Bugly干货分享】程序员们也该知道的事——“期权和股票”
- 【CNC——第9.1篇】使用Setup引导程序整定步进电机(开环步进电机整定方式之1)
- 「干货」12.5米数字高程DEM专题图制作教程
- 【tensorflow学习】Ftrl学习
- 通过搜索引擎快速寻找漏洞
热门文章
- Machine Learning ——Homework3
- python 计算相关系数和决定系数
- ArcGIS 打开捕捉工具
- java线程volatile_多线程与高并发(四)volatile关键字
- office 论文 页码_还在花钱找人排版?这份最全攻略,让你论文一次过!
- vc access mysql_VC中访问Access数据库的方法
- Flink在饿了么的应用与实践
- excel使用教程_办公软件excel表格制作教程
- c语言编写过几天是星期几,计算任何一天是星期几的C语言源代码.
- vue 图片服务器不显示,vue 打包放服务器,css样式不显示-Go语言中文社区