Spring简介
Spring是一个轻量级开发框架,最早有Rod Johnson创建,目前是为了解决企业级应用开发的业务逻辑和其他层耦合问题。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。
Spring框架有很多功能,他为企业及开发提供了吩咐的公能,但是这些功能都是依赖于它的特性,AOP(Aspect Oriented progeamming)面向切面编程、DI(Dependebcy Injection)依赖注入、IOC(Inversion of Control)依赖注入。
Spring框架为了降低开发的复杂性,Spring采取了一下的关键特点:
- 基于面向切面和声明式事进行编程;
- 通过面向切面和模板减少样板代码;
- 通过依赖注入和面向接口实现松耦合
Spring框架核心
Spring框架的核心:IOC容器和AOP模块。通过该IOC容器管理POJO对象以及它们之间的耦合关系;通过AOP以动态非入侵的方式增强服务;
Spring设计理念:在JavaEE开发中支持POJO和JavaBean开发过方式,是应用面向接口编程,充分支持OOP(面向对象)设计方法;Spring通过IOC容器实现对对象耦合关系管理,并实现以来反转,将对象之间的以来交给IOC容器,实现解耦合;
Spring的优缺点
优点
-
方便解耦,简化开发
通过Spring提供的IoC容器,将对象之间的依赖关系交给Spring进行控制 -
AOP编程的支持
通过Spring提供的AOP功能,方便进行面向切面编程,可以轻松实现对程序进行实时监控等等。 -
声明式事务的支持
在Spring中我门可以从单调烦闷的事务观看里代码中解脱出来,通过声明式事务灵活地进行事务的管理。 -
方便程序测试
可以通过非容器依赖的编程方式进行几乎所有的程序测试 -
方便集成各种的优秀框架
Spring不排斥各种的优秀框架,相反,Spring可以降低各种框架的使用难度并直接支持,如(Mybatis、Hibernate、Struts等开源框架)。 -
降低JavaEE API 的使用难度
Spring对Java EE中很多难用 API(JDBC,JavaMail。远程调用等)提供以封装,是这些API使用难度降低。
缺点
- Spring是一个轻量级框,配置过于繁重
- 学习Spring成本高
- Spring依赖反射,影响性能
Spring应用场景
应用场景:JavaEE企业级应用开发,包括SSH、SSM等
总结
Spring是一个开源框架,为了解决复杂的企业级应用开发开的发。他是一个容器用来封装JavaBean(Java对象)也可以称为中间层框架(胶水),可以起到连接作用,比如把控制层和持久层连接起来一起使用。 Sprin框架的核心:IoC容器和AOP模块。通过IoC容器管理POJO对象以及他们之间的耦合关系;通过AOP以动态非侵入的方式增强服务。