Spring的基础应用(概述及优缺点)

Spring是为解决企业级应用开发的复杂性而产生的,其核心是一个完整的基于控制反转(IoC)的轻量级容器。

Spring是一个分层的一站式轻量级框架,它以IoC(Inversion of Control 控制反转)和AoP(Aspect Oriented Programming,面向方面编程)为内核。

在Spring中,认为一切Java类都是资源,而资源都是类的实例对象(Bean),容纳并管理这些Bean的是Spring所提供的IoC容器,所以Spring是一种基于Bean的编程,它深刻地改变着Java开发世界。

Spring致力于JavaEE应用各层的解决方案,而不是仅仅专注于某一层的方案。在表现层它提供了SpringMVC以及与Struts2框架的整合功能;在业务逻辑层可以管理事务、记录日志等;在持久层可以整合Hibernate、 MyBatis 、JdbcTemplate等技术。

Spring的优点:

(1)非侵入式的:Spring框架的API不会在业务逻辑上出现,也就是说业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。

(2)容器。Spring提供了容器功能,容器可以管理对象的生命周期,以及对象与对象之间的依赖关系。可以写一个配置文件(通常是XML文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。那么在容器启动的时候,这些对象就被实例化了,可以直接使用,而且依赖关系也建立好了。

(3)IoC。控制反转,即依赖关系的转移,如果以前都是依赖于实现,那么现在反转为依赖于抽象,其核心思想就是面向接口编程。

(4)依赖注入:对象与对象之间依赖关系的实现,包括接口注入、构造注入、属性方法注入。

(5)AOP:面向方面的编程,将日志、安全、事务管理等服务或功能理解成一个“方面”,以前这些服务通常是直接写在业务逻辑的代码中这有两个缺点:首先是业务逻辑不纯净,其次是这些服务被很多业务逻辑反复使用,不能做到复用。AOP解决了上述问题,可以把这些服务剥离出来形成一个“方面”,可以实现复用;然后将“方面”动态地插入到业务逻辑中,让业务逻辑能够方便地使用“方面”提供的服务。

猜你喜欢

转载自www.cnblogs.com/kjitboy/p/12049017.html
今日推荐