什么是 Spring 框架?
Spring 是一个开源的轻量级的Java开发框架,以 Ioc(Inverse Of control:反转控制)和AOP(Aspect Oriented Programming: 面向切面编程) 为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多企业级应用技术,其还整合众多开源的第三方框架,逐渐成为最受欢迎的Java EE企业应用框架。
Spring框架的特征:
轻量高效:Spring 是一个开源的轻量级的Java开发框架
控制反转IOC:通过 Spring 提供的 IOC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
面向切面AOP:通过Spring的AOP功能,方便进行面向切面的编程,许多不容易用OOP实现的功能可以通过AOP轻松应付。
声明式事务:可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。
容器: Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一个容器,你可以配置你的每个bean如何被创建。
框架:集成各种框架,Spring可以将降低各种框架的使用难度,提供了对各种优秀框架(Struts、 Hibernate、 Hessian、 Quart等)的直接支持。
列举一些重要的Spring模块?
Spring是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。
核心容器Core Container: Core是所有组件的核心,可以说 Spring 其他所有的功能都需要依赖于该类库。主要提供 IoC 依赖注入功能。Beans 组件和 Context 组件是实现IOC和依赖注入的基础
AOP :提供了面向切面的编程实现,Aspects : 该模块为与AspectJ的集成提供支持(AspectJ:Java生态系统中最完整的AOP 框架)。
数据访问/集成:JDBC (Java数据库连接)、JMS(Java消息服务)、ORM(用于支持Hibernate等ORM工具)
Web :为创建Web应用程序提供支持。
Test : 提供了对 JUnit 和 TestNG 测试的支持。