Spring-面试

Spring的优势:

① Spring能够帮我们低侵入/低耦合地根据配置文件(配置类)创建以及组装对象之间的依赖关系。
② Spring面向切面编程能帮助我们无耦合的实现日志记录、性能统计、安全控制等

Spring提供强大且简单的声明式事务管理
④ Spring与第三方数据访问框架无缝集成,且为自己提供了一套jdbc模板来方便数据库访问
⑤ Spring与第三方web框架无缝集成,且为自己提供一套SpringMVC框架,来方便WEB层搭建

Spring的主要产品

① Spring FrameWork

Spring的核心,其他Spring产品都是基于Spring框架而来。

② SpringBoot
③ SpringCloud
④ Spring Cloud Data Flow
⑤ Spring Data
⑥ Spring Batch
⑦ Spring Integration
⑧ Spring Security

Spring核心架构

这里是引用

Core Container

(核心容器)包含有:Beans,Context , Core和SpEL

Bean 比作一场演出中的演员的话,那 Context 就是这场演出的舞台背景,而 Core 应该就是演出的道具了。
Bean 在 Spring 中作用就像 Object 对 OOP 的意义一样,没有对象的概念就像没有面向对象编程,Spring 中没有 Bean 也就没有 Spring 存在的意义;
Context 就是要发现每个 Bean 之间的关系,为它们建立这种关系并且要维护好这种关系,Context 就是一个 Bean 关系的集合,这个关系集合又叫 Ioc 容器;
Core 封装了框架依赖的底层部分,包括资源访问、类型转换以及常用的工具类。

切面编程模块

包含aop、Aspects
aop模块:SpringAOP提供了符合aop Alliance规范的面向切面的编程,提供比如日志记录、权限控制、性能统计等通用功能和业务逻辑分离的技术,降低业务逻辑和通用功能的耦合
Aspects:提供了对Aspect的集成,Aspect是一个aop框架,提供了比Spring aop更强大的功能。

数据访问/集成模块

包括了jdbc、ORM、OXM、JMS和事务管理
事务模块:该模块用于Spring管理事务,支持编程和声明式的事务管理

编程式事务 使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
声明式事务 是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。
声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。
ORM模块:提供流行的 对象 - 关系 框架无缝集成,包括hibernate和ibatis等,而且使用spring事务管理。
OXM模块:提供了一个对Object/Mapper.xml映射实现,将java对象映射成xml数据,或者反过来

web模块

web模块:提供与strust框架的集成
Servlet模块:提供一个SpringMVC web框架实现
WebSocket模块:提供浏览器与服务端建立全双工的通信方式,解决http请求响应 的连接带来过多的资源消耗,对特殊场景提供全新的实现方式,比如聊天,股票交易,游戏等实时性要求高的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值