Spring是什么,为什么要学Spring?

spring是什么?

Spring是一款轻量级控制翻转(IoC)和面向切面(AOP)的Java容器框架

IoC和AOP是Spring的核心特性.

可以把Spring拆分一下:

  • Spring是一款Java容器框架

  • 轻量级:Spring相对于之前的框架EJB而言在大小和开销上都是轻量级的

  • 控制翻转(Inversion of Control):控制翻转简单来说就是把原来需要开发人员自己创建的对象交给Spring来管理,这样就极大的减少了开发人员的工作量

  • 面向切面(Aspect Oriented Programming):面向切面编程就是在不破坏原有代码的基础上给程序添加功能,到达将不同业务分离开来,从而达到解耦合的效果.

    • 举个例子:假如在百事薯片的车间里,小明和小红分别负责将原味和黄瓜味的薯片装袋,结果突然有一天,车间主任说现在每袋薯片里面要加一袋干燥剂.

    ​ -如果用普通的方法就是:小明和小红在装薯片时的最后一步加上一袋干燥剂,可是这样有什么弊端呢? 显而易见,流水车间的工人在长 时间的工作下只适合机械式的任务,任务越简单工作效率越高,这样会影响效率

    ​ -如果用面向切面的方法就是:另外选一个人,小明和小红的工作不变,另外一个人只负责将小明和小红的薯片中加入一袋干燥剂,这样每 个人的分工明确,灵活度和效率都会增强.

    为什么要学Spring

    1. 最现实的角度,一个Java程序员不会Spring,可以说是很难找到工作的
    2. Spring在JavaEE的开发中占有统治地位, 社区活跃度高,因为它相对于之前的框架有了长足的进步.极大的简化了JavaEE的开发
    3. Spring是Spring家族的核心,是SpringBoot的基础

Spring是什么,为什么要学Spring相关推荐

  1. (10)Spring Boot修改端口号【从零开始学Spring Boot】

    Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入: server.port=9090 常用配置: #### ...

  2. 70.打印所有Spring boot载入的bean【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 问题的提出: 我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean  就是我们定义的bean无法进行注入,那到底是什 ...

  3. (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...

    此文章转载地址:http://www.tuicool.com/articles/RJJvMj3 请注重作者的版权. spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可 ...

  4. 54. spring boot日志升级篇—logback【从零开始学Spring Boot】

    在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...

  5. (13)处理静态资源(自定义资源映射)【从零开始学Spring Boot】

    上面我们介绍了Spring Boot 的默认资源映射,一般够用了,那我们如何自定义目录?  这些资源都是打包在jar包中的,然后实际应用中,我们还有很多资源是在管理系统中动态维护的,并不可能在程序包中 ...

  6. 64.JPA命名策略【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 在(39.2). Spring Boot Shiro权限管理[从零开始学Spring Boot] 这一章节中有人碰到这样一个问题"导入的 ...

  7. 17、Spring Boot普通类调用bean【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/52013017 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个 ...

  8. (39.3) Spring Boot Shiro权限管理【从零开始学Spring Boot】

    在学习此小节之前您可能还需要学习: (39.1) Spring Boot Shiro权限管理[从零开始学Spring Boot] http://412887952-qq-com.iteye.com/b ...

  9. 学习spring1--跟我一起学Spring 3(2)–开发环境配置

    http://www.importnew.com/13185.html#spring 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 -首页所有文章资讯W ...

最新文章

  1. 《OpenCV3编程入门》学习笔记8 图像轮廓与图像分割修复(三)使用多边形将轮廓包围
  2. 系统设计规范化攻克了什么问题
  3. python源文件保存在哪里_python数据爬下来保存在哪里
  4. 页面怎么创建一个数组_怎么创建一个企业网站?
  5. Effective Java读书笔记一:并发
  6. Activiti部署报错
  7. 【Python数据预处理】 归一化(按列减均值,除方差),标准化(按列缩放到指定范围),正则化(范数)
  8. 【Android】3.3 MapFragment的使用
  9. 【渝粤教育】电大中专电商运营实操 (23)作业 题库
  10. 世界是数字的读后感:
  11. 线程池(python)
  12. 服务器显示器分辨率,屏幕分辨率修改
  13. 联想台式计算机光驱启动,联想台式机怎么样设置光盘启动
  14. [ZZ] Maxwell 架构
  15. java 反应堆模式_Java NIO 反应堆模式
  16. 反病毒引擎设计(一):绪论 本文来自:剑盟反病毒技术门户(www.janmeng.com)
  17. 苹果手机怎么在照片上添加文字_怎么给手机照片添加文字?没想到方法这么容易,1分钟就能学会...
  18. APK脱壳之—如何脱掉“梆梆加固”的保护壳
  19. 电子警察是属于计算机应用中的,计算机应用基础测试题.doc
  20. [JAVA]用数学解释数组移步问题(新增对链表移步的解释)

热门文章

  1. 360网站卫士cdn全面转向奇安信
  2. 金蝶软件系统管理与维护常见问题
  3. uniapp 搜索关键字高亮显示实现
  4. 宇宙少女-小贾的一时兴起
  5. mesh 协调器 路由器_双模网络协调器、双模路由器和双模mesh组网系统的制作方法...
  6. 第三回 利器,我的DHCP
  7. 【单片机原理及其应用】第五章定时器的介绍和习题分析
  8. LVS部署准备工作-DRBD的部署
  9. 制作老毛桃启动盘教程
  10. 知乎问题:北京,2017,多少k的java web程序员应该懂多线程和jvm优化?