什么是Spring
之前已经学习过web三层(数据库链接层dao,业务逻辑控制层service,用户层web)。
在开发过程中,我们不断引入更加优秀的工具的目的都是在安全、高效的基础上,简化开发,和易于维护。
所以引入spring框架的目的就是解决整个开发过程中各层之间的衔接问题,让各层之间的相互依赖程度降低,来达到简化开发的目的。
那么spring是通过哪些方法来实现这种目的呢?
1.控制反转(IOC:Inversion of Control)
就是之前我们创建新对象的时候都是用new来创建,而这样带来的问题就是,程序编译为class后不能修改,不易维护。
所以我们需要将创建对象的权利交给spring容器(IOC容器),把对象的创建、初始化、销毁等工作的权利交给spring容器,就叫IOC。
2.依赖注入(DI:Dependency Injection)
以前我们创建了对象以后,需要给他的属性赋值,但在spring中,这个赋值的过程就不叫赋值了,叫依赖注入。
3.面向切面编程(AOP:Aspect Oriented ming)
我们在开发过程中,会有很多重复的代码,会造成代码冗余。
为此我们通常是将公有代码抽出去,做成一个新的方法,每次使用时直接调用,但这样还不好,因为再次插入一个新功能时,还要手动调用,不仅修改麻烦,也会造成代码冗余。
在spring中,提供了一个更优秀的解决方法,就是把抽取方法不仅仅局限在一个模块或功能中,而是放在整个执行流程来看,进行一个全局的优化,这样的思想,就叫AOP。
简单的认识了IOC,DI,AOP接下来我们就来看看在spring中如何实现。
1.IOC创建对象的四种方法
链接:https://www.cnblogs.com/sxtr/p/10878985.html
最新文章
- Dynamics CRM 2015-如何修改Optionset Default Value
- jquery更改输入框type为密码框password
- 又一次的Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)
- vim配色方案设置(更换vim配色方案)
- MySQL级联删除的问题
- 短作业优先调度算法(SJF)
- (状压) Marriage Ceremonies (lightOJ 1011)
- 【C#学习笔记】函数调用
- JS input文本框禁用右键和复制粘贴功能的代码
- 日志文件 的管理 logrotate 配置
- iOS9.3 Could not find Developer Disk Image 真机调试错误解决办法
- SQLite3简单入门及C++ API
- Python之文件与目录
- 如何将Ubuntu部署到U盘中,用U盘安装linux操作系统
- ORACLE中用rownum分页并排序的SQL语句
- git 添加、提交、推送
- Python_迭代器_35
- 四个session
- Dictionary,hashtable, stl:map有什么异同?
- python 回溯法 子集树模板 系列 —— 18、马踏棋盘
热门文章
- linux日常管理-rsync_ssh方式
- 功能:formatter 表单提交 拼接参数的形式
- 20.Ecshop 2.x/3.x SQL注入/任意代码执行漏洞
- hdu1065
- C# 绘制图表(柱状图,线性图,饼状图)
- 【redis对象,集合序列化Demo】
- 消息队列--RabbitMQ(二)
- .Net Core中依赖注入服务使用总结
- [C++]C,C++中使用可变参数
- 使用js页面添加或删除标签