如果面试官问你春天是什么,它有什么用,最好的回答是什么?
◆目的:解决企业应用开发的复杂性。
◆功能:使用基础JavaBean代替EJB,提供更多企业应用功能。
◆范围:任何Java应用程序
简单来说,Spring是一个控制反转(IoC)和面向方面(AOP)的轻量级容器框架。
◆轻量化——Spring在尺寸和成本上是轻量化的。完整的Spring框架可以发布在一个大小只有1MB的JAR文件中。Spring所需的处理开销可以忽略不计。此外,Spring是非侵入性的:通常,Spring应用程序中的对象不依赖于Spring的特定类。
◆控制反转——Spring通过一种叫做控制反转(IoC)的技术来促进松散耦合。当应用IoC时,一个对象所依赖的其他对象将以被动的方式传入,而不是由该对象自己创建或寻找依赖对象。你可以认为IoC是JNDI的反义词——不是对象从容器中寻找依赖关系,而是容器在初始化时主动将依赖关系传递给对象,而不等待对象的请求。
◆面向方面-Spring为面向方面编程提供了丰富的支持,通过将应用程序的业务逻辑与系统级服务(如审计和事务管理)分离,允许内聚开发。应用程序对象只做它们应该做的事情——完成业务逻辑——仅此而已。他们不负责(甚至不知道)其他系统级的问题,比如日志或事务支持。
◆ Container-Spring包含并管理应用程序对象的配置和生命周期。从这个意义上说,它是一个容器。您可以配置如何创建您的每个bean——基于可配置的原型,您的bean可以创建单个实例或在每次需要时生成新的实例——以及它们如何相互关联。然而,Spring不应该与传统的重量级EJB容器混淆,后者通常庞大、笨重且难以使用。
◆框架-Spring可以将简单的组件配置组合成复杂的应用程序。在Spring中,应用程序对象以声明的方式组合在一起,通常是在一个XML文件中。Spring还提供了许多基本功能(事务管理、持久性框架集成等。),应用逻辑的开发就交给你了。
Spring的所有这些特性使你能够编写更清晰、更易于管理和测试的代码。它们还为Spring中的各种模块提供基本支持。
主要靠打针。