spring 的优点?
1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 
2.可以使用容易提供的众多服务,如事务管理,消息服务等 
3.容器提供单例模式支持 
4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 
5.容器提供了众多的辅助类,能加快应用的开发 
6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 
7.spring属于低侵入式设计,代码的污染极低 
8.独立于各种应用服务器 
9.spring的DI机制降低了业务对象替换的复杂性 
10.Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部

什么是DI机制? 
依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色 
需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中 
创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者 
因此也称为依赖注入。 
spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。 
设置注入的优点:直观,自然 
构造注入的优点:可以在构造器中决定依赖关系的顺序。

什么是AOP? 
面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面 
1.面向切面编程提供声明式事务管理 
2.spring支持用户自定义的切面

面向切面编程(aop)是对面向对象编程(oop)的补充, 
面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。 
AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象, 
是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。

aop框架具有的两个特征: 
1.各个步骤之间的良好隔离性 
2.源代码无关性

最新文章

  1. 解读发布:.NET Core RC2 and .NET Core SDK Preview 1
  2. "System.Security.Cryptography.CryptographicException: 拒绝访问" 问题的解决方法
  3. SpringMVC Controller介绍
  4. nes 红白机模拟器 第3篇 游戏手柄测试 51 STM32
  5. 解决genemotion模拟器冲突导致的Android Studio无法启动ADB的问题
  6. 转贴:sudo apt-get install 可以安装的一些软件
  7. mysql互为主从复制配置笔记
  8. java InputStream
  9. Merge Intervals——LeetCode
  10. Sql server 事务的两种用法
  11. 目标HttpController在ASP.NET Web API中是如何被激活的:目标HttpController的选择
  12. win7配置自己的IIS服务器亲自做的图文很详细
  13. hibernate查询部分字段转换成实体bean
  14. JavaScript闭包只学这篇就够了
  15. ubuntu 14.04 分辨率调整 -- xrandr命令
  16. jvm内存查看与分析工具
  17. Docker入门(一)用hello world入门docker
  18. node_modules文件过长无法删除问题记录
  19. 黄聪:WordPress 启用HTTPS设置(转)
  20. Mysql 之多实例 安装以及配置

热门文章

  1. C#创建Graphics对象的方法
  2. 马士兵hadoop第三课:java开发hdfs(转)
  3. 我要好offer之 链表大总结
  4. 【BZOJ入门3189】 猜数字(数学,搜索)
  5. app_data中的数据库使用
  6. Opus 和 AAC 声音编码格式
  7. 快充 IC BQ25896 的 input current monitor
  8. 观察者模式在MVP中的应用
  9. Error: spawn xxxx ENOENT原因与解决
  10. Chrome 浏览器如何完美实现滚动截图技巧