spring是什么
spring是什么?
- Spring是一个开源的轻量级开发应用框架,其目的是用于简化企业级应用程序开发
- 它是一个容器框架,用来装javabean(java对象),中间层框架(万能胶)可以起一个连接作用,比如说把Struts和hibernate粘合在一起运用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
什么是控制反转(ioc)?
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
我举个我自己理解的例子:比如有一天你觉得饿了,然后你就自己去买菜,炒菜,做饭,然后现在你饿了你不想去做饭,然后你就上美团点外卖,你就从外卖员手中取外卖。怎么说呢,就是我们以前写代码还要创建实体类,去new一个对象,如果我们要写很多个实体类我们就要new很多个对象。然后在spring中我们不用创建对象不用去new对象了,而是直接从xml配置文件中去拿。就好比我自己举的这个例子,美团这个平台就相当于spring,外卖员就是xml文件,我们直接在里面取就好了,不用自己new对象了。
什么是面向切面(aop)?
AOP就是纵向的编程,如业务1和业务2都需要一个共同的操作,与其往每个业务中都添加同样的代码,不如写一遍代码,让两个业务共同使用这段代码。在日常有订单管理、商品管理、资金管理、库存管理等业务,都会需要到类似日志记录、事务控制、权限控制、性能统计、异常处理及事务处理等。AOP把所有共有代码全部抽取出来,放置到某个地方集中管理,然后在具体运行时,再由容器动态织入这些共有代码。
以上这三个功能都有相同的代码,我们可以把相同的代码放在一个地方中。
声明式事务
通过编程的方式对事务进行管理,特别麻烦。在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
粘合剂
Spring是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力,从而使我们可以更*的选择到底使用什么技术进行开发。