欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring之谈谈对Spring框架的理解

程序员文章站 2022-05-22 20:08:45
...

Spring之谈谈对Spring框架的理解

Spring是一个封层的一站式开发的轻量级开源框架(基本的版本大约2MB),通过配置文件中的 <bean> 元素配置用于创建实例对象的类名和实例对象的属性。

Spring提供支持 IOC 和 AOP 技术,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的程序过度耦合。通过AOP也可以对某个方法进行操作,例如:权限验证

Spring对Junit4支持,方便程序测试。

声明式事务支持,只要在配置文件中配置后,不用程序员在代码编写

降低了JavaEE的API使用难度,Spring框架对对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装。简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。

同时Spring方便集成各种优秀框架,如Hibernate,struts2。

Spring框架的好处

控制反转(IOC):Spring通过控制反转实现了松散耦合(工厂和实现类通过反射和配置文件来实现解耦合),对象们给出它们的依赖,而不是创建或查找依赖的对象们。
面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
容器:Spring 包含并管理应用中对象的生命周期和配置。
MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品
事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。
异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常

Spring控制反转(IOC)和依赖注入(DI)的区别

IOC是控制反转,一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
IOC控制反转,指将对象的创建权,反转到Spring容器, DI依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入Bean。

解释AOP

面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式弥补了面向对象编程(OOP)的不足,除了类(classes)以外,AOP提供了切面。

允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理。

Spring的一个关键的组件就是AOP框架,可以*选择是否使用AOP 提供声明式企业服务,特别是为了替代EJB声明式服务。最重要的服务是声明性事务管理,这个服务建立在Spring的抽象事物管理之上。允许用户实现自定义切面,用AOP来完善OOP的使用,可以把Spring AOP看作是对Spring的一种增强

AOP核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能。比如,一个日志模块可以被称作日志的AOP切面。根据需求的不同,一个应用程序可以有若干切面。在Spring AOP中,切面通过带有@Aspect注解的类实现。

相关标签: Spring面试