Spring是一个优秀的轻量级框架,大大的提高了项目的开发管理与维护。Spring有两个核心模块。一个是IOC,一个是AOP。

IOC: 就是控制反转的意思,指的是我们将对象的控制权从应用代码本身转移到外部容器。通过IOC容器在程序运行期间基于JAVA反射机制

动态的创建对象,配置对象,建立对象之间的依赖关系,管理对象的生命周期。而DI作为依赖注入,是实现IOC控制反转的一种手段。常见的依赖注入方式有:set方式注入和构造器方式注入。通过依赖注入在程序运行期间动态的注入依赖对象,建立对象之间的依赖关系,降低对象之间的耦合度。

AOP:面向切面编程,是对面向对象编程的补充。我们将通用的业务功能代码块封装起来作为切面,通过指定切入点,也就是指定切面作用的目标方法,

最后通过不同类型的通知,告诉容器在调用目标方法的什么时机插入切面代码块。像Spring的声明式事物管理就是基于AOP,在程序运行期间,通过动态代理技术

给service层的bean追加事物管理,保证事物的ACID特性。我们可以通过AOP将一些任务单独封装,通过动态代理技术,在不改变原有代码的情况下追加

功能,提高代码的复用和简化编程。

Spring还提供了很多优秀的插件,像springmvc,springjdbc,springorm等等

除此之后spring还可以用来集成其他优秀的框架,像mybatis,hibernate,struts等等。

                                            

最新文章

  1. SQLServer 2008 R2 对同时含有数字和中文的字段进行排序
  2. 解决IE8 内置JSON.stringify,中文变unicode的问题
  3. 数据结构之平衡二叉树(AVL树)
  4. Lua Coroutine详解
  5. windows脚本配置ip地址
  6. 轻量级linux CRUX安装笔记
  7. 反转字符串--C和Python
  8. 【javascript】html5中使用canvas编写头像上传截取功能
  9. 如何使用SC命令添加删除服务
  10. CSS3秘笈:第九章
  11. SVG文本
  12. Solr7.1---数据库导入并建立中文分词器
  13. java 虚拟机内存模型
  14. Day14全局变量与局部变量
  15. flume学习笔记——安装和使用
  16. CountDownLatch两种用法
  17. Kafka自带zookeeper报错INFO Got user-level KeeperException when processing xxx Error Path:/brokers Error:KeeperErrorCode = NodeExists for /brokers (org.apache.zookeeper.server.PrepRequestProcessor)
  18. App调试的几个命令实践【转】
  19. MATLAB下数组随机打乱顺序的方法
  20. Ubuntu环境下TensorBoard 可视化 不显示数据问题 No scalar data was found...(作者亲测有效)(转)

热门文章

  1. title中添加小图标
  2. telnet 批处理
  3. [BZOJ4552][Tjoi2016&Heoi2016]排序(二分答案+线段树)
  4. 单节锂电池充电(电路)芯片TP4056
  5. 3668: [Noi2014]起床困难综合症
  6. Ruby & Rails学习资料
  7. python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频
  8. Java开发工程师(Web方向) - 01.Java Web开发入门 - 第5章.Git
  9. HDU-1496(哈希表)
  10. TW实习日记:第16天