Spring源码分析之-常见底层核心注解

test01
第一节课:Spring源码分析之常见底层核心注解一:Spring框架功能整体介绍1:SpringCoreContainer:模块作用:Core和Beans模块是框架的基础部分,提供IoC(转控制)和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序’性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置1.1)Core主要包含Spring框架基本的核心工具类,Spring的其他组件都要用到这个包里的类,Core模块是其他组件的基本核心。1.2)Beans(BeanFacotry的作用)它包含访问配直文件、创建和管理bean以及进行InversionofControlIDependencyInjection(IoC/DI)操作相关的所有类1.3)Context(处理BeanFactory,,一下还是ApplicationContext的作用)模构建于Core和Beans模块基础之上,提供了一种类似JNDI注册器的框架式的对象访问方法。Context模块继承了Beans的特性,为Spring核心提供了大量扩展,添加了对国际化(例如资源绑定)、事件传播、资源加载和对Context的透明创建的支持。Context模块同时也支持J2EE的一些特性,ApplicationContext接口是Context模块的关键本质区别:(使用BeanFacotry的bean是延时加载的,Applicat1.4)ExpressionLanguage模块提供了强大的表达式语言,用于在运行时查询和操纵对象。它是JSP2.1规范中定义的unifedexpressionlanguage的扩展。该语言支持设直/获取属性的值,属性的分配,方法的调用,访问数组上下文(accessiongthecontextofarrays)、容器和索引器、逻辑和算术运算符、命名变量以及从Spring的IoC容器中根据名称检索对象。它也支持list投影、选择和一般的list聚合2:SpringDataAccess/Integration2.1)JDBC模块提供了一个JDBC抽象层,它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。这个模块包含了Spring对JDBC数据访问进行封装的所有类2.2)ORM模块为流行的对象-关系映射API,如JPA、JDO、Hibernate、iBatis等,提供了一个交互层。利用ORM封装包,可以混合使用所有Spring提供的特性进行O/R映射,如前边提到的简单声明性事务管理。2.3)OXM模块提供了一个对ObjecνXML映射实现的抽象层,Object/XML映射实现包括JAXB、Castor、XMLBeans、JiBX和XStrearn2.4)JMS(JavaMessagingService)模块主要包含了一些制造和消费消息的特性。2.5)Transaction支持编程和声明性的事务管理,这些事务类必须实现特定的接口,并且对所有的POJO都适用3:SpringWebWeb模块:提供了基础的面向Web的集成特性c例如,多文件上传、使用servletlisteners初始化IoC容器以及一个面向Web的应用上下文。它还包含Spring远程支持中Web的相关部分。4:SpringAop4.1)Aspects模块提供了对AspectJ的集成支持。4.2)Instrumentation模块提供了classinstrumentation支持和classloader实现,使得可以在特定的应用服务器上使用5:TestTest模块支持使用JUnit和TestNG对Spring组件进行测试6:Spring容器继承图ionContext是非延时加载的)

7:控制反转和依赖注入7.1)什么是控制反转?我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(DependencyInversionPrinciple)①:什么是依赖倒置原则?假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依赖底盘,底盘依赖轮子

IOC容器的最最最最核心思想…ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度二:SpringIOC容器底层注解使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术学习分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值