为什么要学习SSM框架

当前轻量级Java EE应用开发通常会采用两种方式:一种是以SSH(Struts+Spring+Hirernate)框架为核心的组合方式,另一种是以SSM(Spring+Spring MVC+MyBatis)框架为核心的组合方式。使用这两种组合方式的项目都使Java EE架构具有高度的可维护性和可拓展性,同时极大地提高了项目的开发效率,降低了开发和维护的成本,因此,这两种组合方式已成为当前各个企业项目开发的首选。

两种组合框架的相同点在于都以Spring框架为核心,而两者的主要不同之处在于MVC的实现方式(Struts与Spring MVC),以及ORM持久化方面(Hibernate与Mybatis)。SSH较注重配置开发,其中的Hibernate对JDBC的完整封装更加面向对象,对增删改查的数据维护更自动化,但SQL优化方面较弱,学习门槛稍高;SSM更注重注解式开发,且ORM实现更加灵活,SQL优化更简便,学习容易入门。目前来说,传统企业项目的开发,使用SSH框架较多,而对性能要求较高的互联网项目,通常会选择SSM框架。

什么是Spring

Spring是一个分层一站式轻量级开源框架,它以IoC(控制反转)AOP(面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB(Enterprise Java Beans,Java企业Bean)完成的工作,取代了EJB的臃肿、低效的开发模式。

Spring致力于Java EE应用各层的解决方案,在表现层它提供了Spring MVC以及与Struts框架的整合功能;在业务逻辑层可以管理事务、记录日志等;在持久层可以整合MyBatis、Hibernate、JdbcTemplate等技术。因此,可以说Spring是企业应用开发很好的“一站式”选择。虽然Spring贯穿于表现层、业务逻辑层和持久层,但它并不想取代那些已有的框架,而是以高度的开放性与它们进行无缝整合。

依赖注入

依赖注入与控制反转的含义相同,是从两个角度描述的同一个概念。

当某个JAVA对象(调用者)需要调用另一个JAVA对象(被调用者,即被依赖对象)时:

传统模式下,调用者会采用"new 被调用者"的代码方式来创建对象,

框架入门——名词解释

这种方式导致了调用者与被调用者之间的耦合性增加,不利于后期项目的升级和维护。

使用Spring时,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权就由应用代码转移到了Spring容器,控制权发生了反转,这就是Spring的控制反转

框架入门——名词解释 

从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是Spring的依赖注入

面向切面编程(AOP)

AOP是面向对象编程(OOP)的一种补充,目前已成为一种比较成熟的编程方式。

 

相关文章: