更新时间:2023-09-21 来源:黑马程序员 浏览量:
Spring是一个主流的Java Web框架,该框架是一个轻量级的应用框架,具有很高的凝聚力和吸引力。Spring框架因其强大的功能以及卓越的性能而受到众多开发人员的喜爱。
Spring是分层的JavaSE/EE full-stack轻量级开源框架,以IoC(Inverse of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心,使用基本的JavaBean完成以前只可能由EJB完成的工作,取代了EJB臃肿和低效的开发模式。
Spring框架采用分层架构、根据不同的功能被划分成了多个模块、这些模块大体可分为Data Access/Integration、Web、AOP、Aspects、Instrumentation、Core Container和Test,如图28-1所示。
图28-1 Spring的体系结构
图28-1中包含了Spring框架的所有模块,这些模块可以满足一切企业级应用开发的要求,在开发过程中可以根据需求有选择性地使用所需要的模块。
在实际开发中,通常服务器采用三层体系结构,分别为表现层(web)、业务逻辑层(service)、持久层(dao)。Spring对每一层都提供了技术支持,在表现层提供了与Struts2框架的整合,在业务逻辑层可以管理事务和记录日志等,在持久层可以整合Hibernate和JdbcTemplate等技术。从设计上看,Spring框架给予了Java程序员更高的自由度,对业界的常见问题也提供了良好的解决方案,因此,在开源社区受到了广泛的欢迎,并且被大部分公司作为Java项目开发首选框架。
Spring具有简单、可测试和松耦合等特点,不仅可以用于服务器端的开发,也可以应用于任何Java应用的开发中。
Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给Spring管理。
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts2、Hibernate、MyBatis等)的直接支持。
Spring对Java EE开发中非常难用的一些API(JDBC、JavaMail、远程调用等)都提供了封装,使这些API应用的难度大大降低。
Spring支持JUnit4,可以通过注解方便地测试Spring程序。
Spring提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
只需要通过配置就可以完成对事务的管理,而无须手动编程。