Spring的基础知识精讲,创客学院一招教你彻底掌握
01
-------------------------------
什么是Spring
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
02
-------------------------------
了解Spring在三层架构中的关系
Spring在三层架构中相当于一个管家,整个应用中所有Bean的声明周期行为,均由Spring管理。即整个应用中所有对象的创建、初始化、销毁,即对象见关联关系的维护,均由Spring进行管理。
03
-------------------------------
Spring 的主要作用
Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。
根据功能的不同,可以将一个系统中的代码分为主业务逻辑与系统业务逻辑两类。主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供系统级服务。如日志、安全、事务等,复用性强。
Spring根据代码的功能特点,将降低耦合度的方式分为两类:Ioc与AOP。Ioc使得主业务在相互过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由Spring容器统一管理,自动“注入”。而AOP使得系统级服务得到最大的复用,且不用再由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由Spring容器统一完成“织入”。
04
-------------------------------
Spring体系结构
05
-------------------------------
Ioc与DI
控制反转,是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。
Ioc是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式有两种:依赖注入和依赖查找。依赖注入方式应用更为广泛。
依赖查找:容器提供回调接口和上下文环境给组件,程序代码则需要提供具体的查找方式。
依赖注入:程序代码不做定位查询,这些工作由容器自行完成。
依赖注入DI是指程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部容器,由外部容器创建后传递给程序。
Spring的依赖注入对调用者与被调用者几乎没有任何要求,完全支持POJO之间依赖关系的管理。
依赖注入式目前最优秀的解耦方式。依赖注入让Spring和Bean 之间以配置文件的方式组织在一起,而不是以硬编码的方式耦合在一起的。
06
-------------------------------
环境搭建
简单得实现Spring的使用
更多有关spring框架技术视频,详见创客学院(www.makeru.com.cn)
Spring的基础知识精讲,创客学院一招教你彻底掌握相关推荐
- 视频教程-2020年软考信息安全工程师_基础知识精讲软考视频培训课程-软考
2020年软考信息安全工程师_基础知识精讲软考视频培训课程 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设计工作 ...
- 2020年软考数据库系统工程师--基础知识精讲视频-任铄-专题视频课程
2020年软考数据库系统工程师--基础知识精讲视频-1997人已学习 课程介绍 对软考数据库系统工程师教材按章节进行了细致的讲解,包括数据结构,操作系统,网络基础,数据库技术,数据库设 ...
- 2020软考网络工程师--基础知识精讲视频-任铄-专题视频课程
2020软考网络工程师--基础知识精讲视频-1574人已学习 课程介绍 对软考网络工程师教材进行了详细解析,通过对考查知识点的细致讲解,让考生掌握解题思路和方法,做到举一反三,事半功倍 ...
- 2020年软考信息安全工程师_基础知识精讲免费视频-任铄-专题视频课程
2020年软考信息安全工程师_基础知识精讲免费视频-1480人已学习 课程介绍 根据新的软考信息安全工程师考试大纲和作者长期辅导考试的经验,对考试中的所有知识点进行了详细的讲解,为考试 ...
- 2020年软考-信息系统项目管理师--基础知识精讲视频-任铄-专题视频课程
2020年软考-信息系统项目管理师--基础知识精讲视频-1197人已学习 课程介绍 根据新的软考信息系统项目管理师考试大纲和作者长期辅导考试的经验,对考试中的所有知识点进行了归类分析和 ...
- 博学谷:Java基础知识精讲学习笔记——DAY 1
1.IDEA项目目录详情 2. IDEA基本配置 ①设置字体:File->Settings->Editor->Font ②设置配色方案:File->Settings-& ...
- VLAN是什么?VLAN基础知识精讲简单易懂
VLAN简介 定义: VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术.VLAN内的主机间可以直接通信,而VLAN间 ...
- 博学谷:Java基础知识精讲学习笔记——DAY2
1. Date类 日期和日历类,用于操作日期相关信息. 构造方法 Date() : 构造一个日期对象,当前系统时间,精确到毫秒. package cn.itcast.dateandcalend ...
- C++知识精讲11——字母大小写转换讲解(单个字母基础版)
本文我们来讲C++知识精讲的第11篇,C++知识精讲11--字母大小写转换讲解(单个字母基础版),此专栏会讲许多,各种各样的类型,如果喜欢此专栏请订阅持续关注,感谢大家的支持.接下来,进入今天的知识精 ...
最新文章
- session过期跳转到登陆页面并跳出iframe框架的最简单方法
- vnc改ip_如何使用VNC进行远程桌面控制
- 龙芯发布.NET 6.0.100开发者内测版
- REVERSE-PRACTICE-CTFSHOW-3
- mongodb和mysql的对比_MongoDB和MySQL的区别
- hdfs的实验总结_实验2-熟悉常用的HDFS操作.doc
- 力扣190.颠倒二进制数
- 使用delphi 开发多层应用(二十一)使用XE5 RESTClient 直接访问kbmmw 数据库
- Java 二叉树的层序遍历
- 微信小程序----实现YDUI的ScrollTab(滚动选项卡)
- 北京新房成交10月下旬暴增 二手房均价年内首次微涨
- 20170918-20170924C#工作学习周总结
- c#断点续传下载文件
- Anolis OS 8.2 RC2 发行,支持飞腾、海光、兆芯、鲲鹏等芯片
- 《我也能做CTO之程序员职业规划》之十六:逆商
- 高光谱图像去噪相关资源汇总(常用对比算法+数据集+评价指标)
- 申宝投资-三大股指开盘逐渐下跌
- Linux 下 find(文件查找)命令的用法总结
- 苹果电脑硬盘损坏数据是否可以恢复
- 医院主要支付方式及其风险分析